|
|
|
| Здравствуйте!
Мне бы хотелось сделать так, чтобы ошибки вообще не выводились. Как сделать это на уровне php.ini - я знаю.
А можно ли это как-то сделать на уровне .htaccess или даже в самом файле *.php?
Где-то читал, что для этого достаточно поставить
error_reporting(0);
, но не запомнил, где это надо ставить.
Если ставить в код странички - часть ошибок глушится (например, если нету подключаемого файла, но ошибка, если неправильно написана конструкция - не глушится :( )
Если ставить в .htaccess - сервер выдает ошибку.
Как сделать, чтобы все глушилось? | |
|
|
|
|
|
|
|
для: victoor
(24.05.2007 в 00:30)
| | Чтобы всё глушилось - такого нету.
Но по максимуму глушит это:
Error_Reporting(E_ALL & ~E_NOTICE);
|
Вставьте в верхушку страницы. Необязательно в самый верх, но чем выше, тем меньше ошибок будет :) | |
|
|
|
|
|
|
|
для: mr Bin
(24.05.2007 в 01:14)
| | > Чтобы всё глушилось - такого нету
Однако мануал говорит обратное..
<?php
// Turn off all error reporting
error_reporting(0);
// Report simple running errors
error_reporting(E_ERROR | E_WARNING | E_PARSE);
// Reporting E_NOTICE can be good too (to report uninitialized
// variables or catch variable name misspellings ...)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
// Report all errors except E_NOTICE
// This is the default value set in php.ini
error_reporting(E_ALL ^ E_NOTICE);
// Report all PHP errors (bitwise 63 may be used in PHP 3)
error_reporting(E_ALL);
// Same as error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);
?>
|
> ошибка, если неправильно написана конструкция - не глушится :(
А зачем их глушить? | |
|
|
|
|
|
|
|
для: kasmanaft
(24.05.2007 в 07:25)
| | Пошёл читать мануал :) | |
|
|
|
|
|
|
|
для: victoor
(24.05.2007 в 00:30)
| | может лучше сперва конструкции правильно написать? | |
|
|
|
|
|
|
|
для: Trianon
(24.05.2007 в 10:50)
| | на домашней машине у меня все выводится - а пользователю чем меньше служебной информации показывается, тем лучше...
А конструкцию я для теста портил - это легче всего сделать... | |
|
|
|
|
|
|
|
для: victoor
(24.05.2007 в 13:30)
| | >на домашней машине у меня все выводится - а пользователю чем меньше служебной информации показывается, тем лучше...
>
>А конструкцию я для теста портил - это легче всего сделать...
Вам удобно будет глушить ошибки только на хостинге, а на домашней машине оставлять как есть. Это можно сделать в самом начале скрипта написав:
<?
if ( @getenv('COMSPEC') === false ) //esli rabotajem ne v windows
error_reporting(0); //viklu4ajem pokaz o6ibok
?>
|
| |
|
|
|
|
|
|
|
для: Temnovit
(24.05.2007 в 17:50)
| | И в лог не отправится вообще ничего. Хороший способ.... | |
|
|
|
|
|
|
|
для: victoor
(24.05.2007 в 00:30)
| | У меня в корневом .htaccess написана строка
php_flag display_errors off
|
| |
|
|
|
|
|
|
|
для: provodnik
(24.05.2007 в 10:56)
| | А у меня (к примеру)
php_value error_reporting 2047
php_value error_log "/tmp/log/myerrors.txt"
php_flag log_errors on
php_flag display_errors off
|
ошибки на боевых серверах нужно не просто отключать, а уводить на регистрацию в логи. | |
|
|
|
|
|
|
|
для: Trianon
(24.05.2007 в 12:41)
| | Вот это мне еще больше нравится...
вторая строка указвает, куда писать ошибки
третья - разрешает логирование ошибок
четвертая запрещает вывод ошибок на экран.
А первая стока приведенного кода, надо пологать, говорит, на какие ошибки мы обращаем внимание? И можно ли там писать что-то типа E_ALL?
Спасибо за код :-) | |
|
|
|
|
|
|
|
для: victoor
(24.05.2007 в 13:28)
| | Можно написать что-то вроде
<?
echo E_ALL & ~ E_NOTICE;
?>
|
Запустить, поглядеть, увидеть
и записать увиденное в .htaccess, поставив рядом человеческий текстовый коментарий. | |
|
|
|
|
|
|
|
для: Trianon
(24.05.2007 в 13:43)
| | >Можно написать что-то вроде
>
<?
> echo E_ALL & ~ E_NOTICE;
>?>
|
>Запустить, поглядеть, увидеть
а у меня выводит 6135 ...
Это может зависить от ОС, на которой стоит апач? | |
|
|
|
|
|
|
|
для: victoor
(26.05.2007 в 20:16)
| | - | |
|
|
|