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

Как получить ID последней обновленной строки в MySQL

Web

Как подавить ошибку с помощью оператора @ в PHP

Amazon Browser App: что это за программа и как ее установить/удалить
Web

Amazon Browser App: что это за программа и как ее установить/удалить

Web

Как использовать array_filter() для фильтрации ключей массива в PHP

×