LINUX.ORG.RU

Как увидеть лог в старом PHP-проекте? Не помню где лог-файл... Не вижу лога ошибок...

 , , ,


0

1

Имеется старый рабочий проект, назовем его my-site.ru, написанный на Codeigniter 2. Он крутится на VPS под PHP 5.6. Используется nginx + php5-fpm. Система Debian Linux 9.

Я сделал минимальный контроллер, и он работает. Затем я создаю в нем ошибку:

./ci_application/controllers/hello.php

<?php
  itIsErrorString
  echo "Hello Codeigniter";
  // phpinfo();
?>

Явно тут парсер должен выдавать в лог ошибку типа:
PHP Parse error:  syntax error, unexpected 'echo' (T_ECHO) in .../ci_application/controllers/hello.php on line 3

И куда-то эту ошибку он должен писать. Но я не могу найти лог-файла с ошибкой!

В файле /etc/php5/fpm/php.ini стоит опция:
log_errors = On

Там же я ставил error_log = syslog (и перегружал nginx и php5-fpm) чтобы гарантированно увидеть ошибку в сислоге /var/log/syslog, но нет, туда ошибка не попадает.

В лог-файле самого Codeigniter тоже нет ошибок. В конфиге Codeigniter-а уровень ошибок 1 (1 = Error Messages including PHP errors):
$config['log_threshold'] = 1;


То есть, ошибки должны логироваться.

Я проверял файлы:

/var/log/php5-fpm.log
/var/log/syslog
/var/log/messages
/var/log/debug
/var/log/nginx/error.log
/var/www/my-site.ru/log/* - это каталог лога Codeigniter

Нигде ошибок скрипта не вижу.

Где блин еще искать лог?


Если это важно, вот выхлоп phpinfo() в браузере: https://hastebin.com/raw/wazayuluxi

★★★★★

Последнее исправление: Xintrea (всего исправлений: 1)

Наверно, error_log в phpinfo() должен быть /var/log/php5-fpm.log, а не «no value»

error_log = /var/log/php5-fpm.log

в php.ini или php-fpm.conf/d

yandrey ★★
()
Ответ на: комментарий от yandrey

Нет, такого точно не должно быть. Там может быть либо какое-нить /var/log/php-error.log (и ошибки будут в нём), либо stderr и тогда ошибки будут (вроде бы, но вообще зависит ещё от чего-то) в php5-fpm.log и в nginx-error.log.

Почему там не должно быть php5-fpm.log: php5-fpm.log это лог менеджера процессов пхп, а тут речь идёт о логе самого пхп. Это разные сущности с почти независимыми кодовыми базами, хоть они и монолитно в одном процессе.

firkax ★★★★★
()
Ответ на: комментарий от firkax

php5-fpm.log да, самого менеджера процессов, а php что-то вроде poll_name-php-error.log через замену error_log (php_admin_value[error_log]) в конфиге php-fpm

yandrey ★★
()

Смотри/настраивай php-fpm пул. /etc/php5/fpm/pool.d/чё-то-там Там опции кажется php_flag[display_errors], php_admin_value[error_log], php_admin_flag[log_errors]

MrClon ★★★★★
()
Ответ на: комментарий от MrClon

Ну и в errorlog nginx могут ошибки падать. Только не в /var/log/nginx/error.log, а в тот лог в который nginx пишет ошибки сайта (ну, всякие там 404 и 5xx запросы) если такой лог вообще настроен

MrClon ★★★★★
()
Ответ на: комментарий от MrClon

если такой лог вообще настроен

Глубочайше поддерживаю. Этим занимается сервер. PHP только если напрограмировал.

Roy-Batty
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.