Web

Где PHP хранит журнал ошибок?

Я арендовал виртуальный хостинг и использую Cpanel, Apache, PHP, который работает под управлением fastcgi. Где PHP хранит журнал ошибок?

Есть ли другой способ найти журнал ошибок в среде общего хостинга вместо того, чтобы просматривать всю структуру сайта в поисках файлов error_log?

У меня есть доступ к php.ini (я использую PHP версии 5.2.16).

 

Ответ 1

PHP сохраняет журналы ошибок в папке /var/log/apache2, если PHP является модулем apache2. Общие хосты часто хранят файлы журналов в подпапке корневого каталога /log. Но, если у вас есть доступ к php.ini файлу, вы можете сделать это:

error_log = /var/log/php-scripts.log

 

Если вы используете cPanel, главный файл журнала, который вы, вероятно, ищете, хранится (по умолчанию) в:

/usr/local/apache/logs/error_log

 

Если ничего не помогает, вы можете проверить расположение файла журнала, используя:

<?php phpinfo(); ?>

 

Ответ 2

В Linux:

php --info | grep error 

Терминал выведет местоположение журнала ошибок.

 

В Windows:

php --info | findstr /r /c:"error_log"

Командная строка выведет местоположение журнала ошибок.

 

Чтобы установить местоположение журнала:

Откройте php.ini и добавьте следующую строку:

error_log = /log/myCustomLog.log

 

Ответ 3

В среде LAMP ошибки php по умолчанию направляются в этот файл:

/var/log/httpd/error_log

 

Все журналы доступа находятся здесь:

/var/log/httpd/access_log

 

Ответ 4

Как найти журнал ошибок PHP в Linux:

eric@dev /var $ sudo updatedb

[sudo] password for eric:

eric@dev /var $ sudo locate error_log

/var/log/httpd/error_log

 

Альтернативный способ:

eric@dev /home/eric $ sudo find / -name "error_log" 2>/dev/null

/var/log/httpd/error_log

 

Ответ 5

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

error_log = /var/log/php.errors

 

Другое решение - написать простой скрипт, который будет перечислять все файлы журналов ошибок из дерева каталогов.

 

Ответ 6

По умолчанию php нигде не регистрирует журнал ошибок error_log. В php.ini параметр закомментирован во всех установках, которые я видел.

Возможные решения:

  1. ищите файлы php.ini. в locate php.ini;

  2. ищите в этих файлах error_reporting значение;

  3. проверяйте error_log значение, чтобы убедиться, что оно указывает на реальное место и не закомментировано.

 

Ответ 7

Лучше всего заглянуть в файл httpd.conf и посмотреть, что установлено по умолчанию. Он также может быть отменен вашим конкретным виртуальным хостом. Я начинаю с просмотра /etc/httpd/conf/httpd.conf или /etc/apache2/httpd.conf и ищу error_log. Он может быть указан как /var/log/httpd/error_log или /var/log/apache2/error_log как logs/error_log.

В этом случае это будет относительный путь, который означает, что он будет указывать на /etc/httpd/logs/error_log. Если вы все еще не можете его найти, посмотрите на конечную часть файла httpd.conf и посмотрите, где включены ваши виртуальные хосты. Он может находиться в /etc/httpd/conf.d/<- как «другой» или «дополнительный». Ваш виртуальный хост может переопределить его с помощью ErrorLog "/path/to/error_log".

 

Схожие статьи

Web

Преобразование изображения SVG в PNG с помощью PHP

Web

Асинхронный запуск задачи PHP

Web

Множественные выходы из функции

Как создать грамотное оформление страницы 404 на собственном сайте
Web

Как создать грамотное оформление страницы 404 на собственном сайте