Включить лог ошибок PHP

Когда на сервере не работает один из сайтов — причины следует искать в программном коде, прежде всего следует изучить лог ошибок РНР (актуально для большинства сайтов, поскольку РНР является самым популярным языком веб-программирования). В рамках материала рассмотрено как включить лог ошибок php

 

Все параметры РНР — в том числе, версия — задаются в файле php.ini, в нем же включается ведение лога программных ошибок

 

Делается это следующим образом:

display_errors = Off
log_errors = On
error_log = /var/log/php-errors.log

 

При активации display_errors ошибки будут выводится на экран, в директиве error_log задается путь к файлу, в который будет писаться информация необходимая для отладки проекта.

 

 

Далее создается файл php-errors.log, на него необходимо выставить права позволяющие веб-серверу записывать в файл данные — в Debian подобных системах Apache работает от имени системного пользователя www-data

touch /var/log/php-errors.log

chown www-data: /var/log/php-errors.log

 

Описанный порядок действий позволит включить логирование ошибок РНР, дополнительных действий не требуется

 

 

 

Включить лог ошибок php в .htacccess при использовании Apache с mod_php

Несколько иначе стоит действовать при использовании Apache с mod_php (с fast_cgi директива php_flag работать не будет — возникнет ошибка 500)

 

В .htaccess в корне сайта добавляется:

php_flag log_errors On
php_value error_log /var/log/php-errors.log

 

Выключается логирование установкой основной опции в Off

php_flag log_errors Off

 

Чтобы проверить в каком режиме работает PHP на сервере можно выполнить в консоли apache2ctl -M — вывести список всех модулей, среди них скорее всего будет fcgi, fastcgi  или mod_php.

 

Также можно создать в корне сайта, работающего с сервера файл phpinfo и поместить в него тестовый скрипт

<?php

phpinfo();

?>

 

Затем обратиться к файлу из браузера

sitename.com/phpinfo.php

 


Если применяются редиректы может потребоваться временно переименовать файл .htaccess в корне сайта.


 

В выводе phpinfo.php можно будет увидеть всю информацию о существующих настройках РНР

 

Читайте про ошибку 500 и ее причины. Очень часто она появляется как следствие неверной отработки скриптов или настроек сервера не удовлетворяющим требованиям программного кода сайта.