Решено: PHP. Вывод ошибок

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Аватара пользователя
Corsair
Сообщения: 842
Статус: Местный "тролль"
ОС: Fedora

Решено: PHP. Вывод ошибок

Сообщение Corsair »

Довольно давно не занимался PHP, сейчас понадобилось настроить хостинг. Все в обшем-то хорошо работает, но есть одно но. Раньше ошибки сценария выводились в браузер по-умолчанию, php.ini я не трогал. А теперь заметил, что из соображений безопасности, вывод ошибок отключен по-умолчанию. Ну, думаю, ладно. Дописал в php.ini:

Код: Выделить всё

display_errors = On
error_reporting = E_ALL

Больше ничего не трогал, ни в PHP, ни в Апаче,ну.. только UserDir у апача включил. В общем, не выводятся ошибки. Прогуглил весь тырнет, это ДОЛЖНО работать, но не работает. Может еще что-то подкрутить надо? Уже несколько дней ищу безрезультатно. Подскажите.

ЗЫ: CentOS 5.1 Apach 2.2.3-11 PHP 5.1.6-15
Жестокий стоячий админ (с) коллега
Спасибо сказали:
Skala
Сообщения: 241
ОС: Gentoo

Re: Решено: PHP. Вывод ошибок

Сообщение Skala »

Такое предложение: Не трогать php.ini, a изменить display_errors функцией ini_set .
Например так (test.php):

Код: Выделить всё

<?php
ini_set("display_errors", "1");
ini_set("error_reporting", "ALL");
#По желанию
ini_set("track_errors", "1");
#Проверки ради
phpinfo();
?>
Спасибо за внимание.
Спасибо сказали:
Аватара пользователя
Corsair
Сообщения: 842
Статус: Местный "тролль"
ОС: Fedora

Re: Решено: PHP. Вывод ошибок

Сообщение Corsair »

Skala, да я как только не делал уже. В том числе и так как вы предложили.

Код: Выделить всё

<?
ini_set("display_errors", "1");
ini_set("error_reporting", "ALL");
ini_set("track_errors", "1");
$a = 1 /0;
echo $a;
?>


Итог: кристально чистая страница
Все нормально работает. Только вот вывод ошибок подводит. Очень уже не удобно
Я уже в своих мозговых способностях сомневаться начинаю.
Жестокий стоячий админ (с) коллега
Спасибо сказали:
iYang
Сообщения: 41
ОС: SuSE 10.3, 11.0

Re: Решено: PHP. Вывод ошибок

Сообщение iYang »

попробуйте в этом вирт. серваке положить файлик
<?php
phpinfo();
?>

и вызвать его из апача, точно там будет переменная display_errors в On?
кстати, кристально чистая страница может быть и без сообщения об ошибке. Можно ее попробовать посмотреть на предмет "исходного кода", скорее всего ошибка там, где вы ее не ожидаете.
Спасибо сказали:
Аватара пользователя
Corsair
Сообщения: 842
Статус: Местный "тролль"
ОС: Fedora

Re: Решено: PHP. Вывод ошибок

Сообщение Corsair »

iYang, деление на ноль должно вызывать ошибку/
Исходный код пуст.

А вот в phpinfo display_errors Off, почему мне не ясно.
Если устанавливать с помощью ini_set то включается, но ошибка все равно не выводится.
Даж не знаю какую еще ошибку для теста придумать...

Код: Выделить всё

<?php
ini_set("display_errors", "1");
ini_set("error_reporting", "ALL");
#По желанию
ini_set("track_errors", "1");
$a = 1 /0;
echo $a;
#Проверки ради
phpinfo();
?>
Жестокий стоячий админ (с) коллега
Спасибо сказали:
Skala
Сообщения: 241
ОС: Gentoo

Re: Решено: PHP. Вывод ошибок

Сообщение Skala »

Тут одно из двух: Либо делить на 0 можно, либо ошибки "не хочет выводить" сам апач :-)

Насчет, какую ошибку подсунуть: Да любую можно. Например так:

Код: Выделить всё

<?php
bla-bla-bla("Этой функции НЕТ!");
mysql_connect("out-out","root","bum-bum!");
mysql_connect(1,2,3);
#И т.д.
?>

Наверняка что-то должен написать ведь...
Спасибо за внимание.
Спасибо сказали:
Аватара пользователя
Corsair
Сообщения: 842
Статус: Местный "тролль"
ОС: Fedora

Re: Решено: PHP. Вывод ошибок

Сообщение Corsair »

неа, чисто как в операционной...
Свежая установка, дефолтные конфиги... только те самые 2 строки дописал. Не выводятся ошибки хоть убей...
Жестокий стоячий админ (с) коллега
Спасибо сказали:
Аватара пользователя
Corsair
Сообщения: 842
Статус: Местный "тролль"
ОС: Fedora

Re: Решено: PHP. Вывод ошибок

Сообщение Corsair »

Проблема решилась прописыванием php_flag display_errors On в httpd.conf. Правда так и не понял почему директивы из php.ini игнорировались. Ну да ладно, работает, не буду трогать. iYang, Skala, спасибо за советы.
Жестокий стоячий админ (с) коллега
Спасибо сказали:
iYang
Сообщения: 41
ОС: SuSE 10.3, 11.0

Re: Решено: PHP. Вывод ошибок

Сообщение iYang »

Проблема решилась прописыванием php_flag display_errors On в httpd.conf.

Такое ощущение, что тот php.ini который вы редактируете не является конфигом для php. Когда смотрите результат вывода phpinfo() там сразу виден путь, где лежит конфиг, попробуйте убедиться в этом.
Спасибо сказали:
Аватара пользователя
Corsair
Сообщения: 842
Статус: Местный "тролль"
ОС: Fedora

Re: Решено: PHP. Вывод ошибок

Сообщение Corsair »

я в этом убежден на 100%. Единственный конфиг php в системе это /etc/php.ini, не считая конфигов модулей в /etc/php.d, но модули тут не при чем. Главное проблему я решил, а непонятки эти.. черт с ними, некогда сейчас этим заниматься.
Жестокий стоячий админ (с) коллега
Спасибо сказали: