PHP error/warningn messages. turn off?

aZa

Новичок
PHP error/warningn messages. turn off?

Как-то можно отключить показ ошибок и предупреждений ПХП (которые так некрасиво выдают всю "подноготную" каталожно-файловую структуру сайта), если у хостинг-провайдера по умолчанию все это дело показывается? ("php.ini" файл как-то реально перекрыть у себя, локально ... как .htaccess для Apache?)
 

ONK

Пассивист PHPСluba
Писать надо так чтобы никаких ошибок и варнингов не возникало (даже при попытках недокументированного использования скрипта). Всё остально полумеры.

error_reporting (E_ERROR | E_WARNING | E_PARSE);

Выключает вывод сообщений об ошибках.
 

trent

Developer
поддерживаю ONK в том что писать надо без ошибок и предотвращать возникновение варнингов на этапе разработки..
на production сервере в php.ini надо выставить
display_errors = Off , чтобы ошибки не показывались в случае их возникновения и писались в лог(error_log) апача.
 

RomikChef

Guest
Писать надо так чтобы никаких ошибок и варнингов не возникало
очередная глупость.
Это лишь благое пожелание. Писать-то надо - кто же спорит.
Но программ без ошибок не бывает.

Деалее.
первые двое отвечавших глупее того, кто спрашивал.
потому, что даже не поняли его вопроса.
Не "как избавиться от сообщений", а "как их не выводить юзеру".

Только третий понял правильно, но ответ не дописал.
чтобы ошибки писались в еррор лог, ннедостаточно написать
display_errors = Off
надо еще напсать log_errors=on
и лучше назначить специальный файл ошибок РНР, а не использовать апачевский.

("php.ini" файл как-то реально перекрыть у себя, локально ... как .htaccess для Apache?)
реально
1.php_value в том самом .htaccess
2.[m]ini_set[/m] в скрипте

Код:
php_value error_log  /path/to/php_error_log
 

ONK

Пассивист PHPСluba
RomikChef, у вас паталогическая склонность к хамству?

Ошибки могут быть в любой программе, но если они возникают, их надо сразу устранять и неважно где эти ошибки фиксируются в логах перехвата ошибок, или прямо в браузере. Я не обладаю таким терпением чтобы упорно каждый раз играя в детский сад рассказывать каждому (напрямую ) как перехватывать ошибки (пусть ищут в поиске).

Если речь идёт о том, что-бы сдать скрипт в эксплуатацию потребителю, то нужно отключить все сообщения обо всех ошибках. Пример отключения всех сообщений из пхп скрипта я и привёл в своём сообщение. Вы, RomikChef, злоупотребляете своим правом редактировать чужие сообщения вырезая 50% смысла и собственно сам ответ на задаваемый вопрос (возможно даже не поняв его).
 

aZa

Новичок
спасибо за информацию

у моего провайдера висит такое объявление:

"You must upload your php.ini to every directory where you have PHP scripts; custom php.inis work on a directory-by-directory basis."

то есть php_value нельзя использовать? (функция ini_set, как я понимаю, будет работать в любом случае)
 

.des.

Поставил пиво кому надо ;-)
RomickChef по моему опять ты передергиваешь...
пишу здесь потому как не хочу начинать новый тред в служебке.. старые песни о главном.

Если есть что подправить и дополнить.. по моему логичнее выглядит когда видно против чего ты собственно возражаешь...
А так смотрится глупо..во первых, и, имхо, это не уважение к участникам форума :((( что не есть гуд.
 

ONK

Пассивист PHPСluba
Не хорошо повторно постить стёртое модератором, но так как он откровенно не понял кода, я его повторю:

error_reporting (E_ERROR | E_WARNING | E_PARSE);

Выключает вывод сообщений об ошибках.

эквивалент

error_reporting (7);

aZa, если пропишеш в верхней части своих скриптов вывод ошибок прекратится.
 

aZa

Новичок
ONK: да, именно то, что я искал ... использовать ini_set с пользователским php.ini будет более масштабный/неповортливый способ, чем используя функцию error_reporting ... txs всем за помощь
 

RomikChef

Guest
Да пошли вы все в задницу, жизни меня учить...
Дес, ты бы избранным своим занимался лучше.

Тыкаешь их носом, как правильно, а они еще кобенятся.
"меня не так поняли"
"а мне так проще"

ИЗВИНИТЕ
я не знал, что вам сдавать в эксплуатацию!
И что надо не чтобы скрипт РАБОТАЛ, а чтобы КЛИЕНТ ОШИБОК НЕ ВИДЕЛ и БАБЛА ОТВАЛИЛ.

так и надо было сразу писать
Вопросов бы не было
 

RomikChef

Guest
онк, ты такой умный и гордый?
ну объясни мне, глупому хаму, что ты хотел сказать своими фразами
Писать надо так чтобы никаких ошибок и варнингов не возникало
Это невозможно в принципе.
ВСЕ не отловишь.
Я уже, блин, одному мозги вправил. сутки убил. теперь еще один тупит.

С СООБЩЕНИЯМИ ОБ ОШИБКАХ НЕ НАДО БОРОТЬСЯ!!!!!
Это не зло, а БЛАГО!
Для тебя, в первую очередь, для программера!
оно тебе скажет продробно и лучше - что, да почему!
поможет заставить скрипт работать!

Выводить их надо, а не подавлять, дурилка ты картонная!
Выводить - сколько есть, как можно больше.

от того, что ты поставишь репортинг 7, ОШИБОК, у тебя, у страуса, не УБАВИТСЯ!

Офигенная политика.
ты еще 0 поставь.
Вообще ошибок в программе не будет.
error_reporting (E_ERROR | E_WARNING | E_PARSE);
Выключает вывод сообщений об ошибках.
Вот эту глубокую мысль тоже мне поясни.
О каких ошибках и почему ты так стремишься ПОДАВИТЬ сообщения об ошибках, вместо того, чтобы ВОСПОЛЬЗОВАТЬСЯ ими?
 

RomikChef

Guest
аза.
ты как угодно делай.
хоть в хтаксесс
хоть в пхп.ини
хоть в начале скрипта
Какой тебе по дурости путь кажется более гибким - такой и используй.

Но используй ПРАВИЛЬНО!!!!!
не еррор репортинг пиши, а то, что я тебе сказал.
вывод ошибок ВЫКЛЮЧИТЬ
запись в лог - ВКЛЮЧИТЬ
а потом самому же смотреть туда - гда твои скрипты не работают!
 

aZa

Новичок
хе-хе ... какой дружелюбный народ. прикольно. :D

сосбтвенно почему у меня этот вопрос возник - сайт УЖЕ надо выгружать, а "error handling" полностью недоделан, потому хотелось бы скрыть от посторонних глаз эти самые ошибки (скажем, при упавшем MySQL сервере, проблемы с датой, etc), которые открыто выдают структуру сайта, пока работа не будет доделана до конца ... вот и все. никто не собирается "втюхивать" наполовину работающий проект, просто работать он должен ПРЯМО СЕЙЧАС и не хочется оставлять такие откровенные дыры на виду.

а я "по дурости" выберу пожалуй путь error_reporting, так при текущей стректуре сайта он легче всего реализуется (добавление одно строчки в "файл глобальных переменных") ...

вы тут всегда такие все нервные? ;)
 

RomikChef

Guest
ОНК, снимаю шляпу.
Извиняюсь за резкость.
КАК ты умудрился разглядеть, что ему скрипт сдать поскорее надо заказчику, а не убрать ошибки от юзеров - я не представляю.

Мне до такого езе телепать и телепать.
Я все за чистую монету принял.


Только объясни мне, дураку, одну вещь.

Если файла нужного не будет, или прав там, на него, и fopen ошибку выдаст, а еррор хандлинг - недописан.

Вот чем вам в этом случае поможет еррор репортинг? В смысле поставленной задачи - убрать кишки с экрана?


Аза, к тебе, любителю дружелюбности, у меня тоже вопрос.

ты можешь без отклонений оот темы объяснить мне, чем строчка
ini_set('display_errors',0);
сложнее, чем строчка
error_reporting (E_ERROR | E_WARNING | E_PARSE);
 

aZa

Новичок
отличий нет, я согласен, что все равно, что использовать - и то, и то эффективно справится с поставленной задачей. не разобрался сразу как ini_set работает ... но зато error_reporting как-то нагляднее :D

зачем спорить для чего конкретно мне это нужно?.. не все ли равно?!.. что-то я вас совсем не понимаю.
 

Linker

Guest
aza:

нужно - так нужно :)
но на будущее не помешало бы разобраться с выводом ошибок в свой файл, я когда-то через .htaccess сделал перенаправление вывода ошибок, а теперь Cron отсылает мне раз в сутки отчёт всех ошибок PHP-скриптов с моего аккаунта мылом.
А так - хозяин-барин :)
 

ONK

Пассивист PHPСluba
RomikChef, спасибо, ты мне так настроение поднял :))), получил кучу удовольствия читая твои посты в этой теме :).

Ты серьёзно думаеш что я при разработк подавляю ошибки и варнинги?. Я похож на мазохиста?

Может запостить сюда мой перехватчик ошибок, заодно поможет aZa, с его прблеммами...


онк, ты такой умный и гордый?
ну объясни мне, глупому хаму, что ты хотел сказать своими фразами

Писать надо так чтобы никаких ошибок и варнингов не возникало
[/qoute]

Я просто написал о своём подходе к разработке скриптов, я стараюсь не просто избавить в своих скриптах от максимально большого количества ошибок и варнингов, но и предусмотреть поведение скипта в случае попыток скормить ему левую входящую информацию (попытки взлома, вызова без необходимых параметров, несоответствия принятой информации тому что должно быть и т.д.). Я вовсе не претендую на полное отсутствие ошибок в моих скриптах, но я стремлюсь к этому, проверяю все возможные режимы использования скриптов которые мне удаётся придумать :) ....
 

RomikChef

Guest
ОНК, то, что ты стараешься писать, обрабатывая возможно большое число исключений - это хорошо.
но ты уже второй человек, который почему-то увязывает это стремление со способом отображения ошибок.

Ну не вижу я, хоть убейте, здесь логической связи.

то, что ты борешься с болезнями (ошитками) - похвально им заслуживает всяческого одобрения.
То, что ты борешься с симптомами (сообщенияями об ошибках) - недоступно моему разуму.
 
Сверху