Где PHP хранит журнал ошибок? (php5, apache, fastcgi, cpanel)

Я нахожусь на общем хостинге и имею 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

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

/usr/local/apache/logs/error_log

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

<?php phpinfo(); ?>

Ответ 2

Попробуйте phpinfo() и проверьте наличие "error_log"

Ответ 3

Linux

php --info | grep error 

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

Окна

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

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

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

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

error_log = /log/myCustomLog.log

<суб > Спасибо @chelmertez, @Boom за эти (комментарии к вопросу). Суб >

Ответ 4

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

/var/log/httpd/error_log

Доступ ко всем журналам доступа:

/var/log/httpd/access_log

Ответ 5

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

[email protected] /var $ sudo updatedb
[sudo] password for eric:
[email protected] /var $ sudo locate error_log

/var/log/httpd/error_log

Другой эквивалентный способ:

[email protected] /home/eric $ sudo find / -name "error_log" 2>/dev/null

/var/log/httpd/error_log

Ответ 6

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

Обычно I:

  • найдите файлы php.ini. locate php.ini.
  • Поиск этих файлов для значения error_reporting;

    Которое должно быть настроено на то, что вам достаточно для объединения уровней журнала php.,

    Например: E_ALL & ~E_DEPRECATED & ~E_STRICT

  • Проверьте значение error_log, чтобы убедиться, что оно указывает на фактическое место и не закомментировано.

    Значение по умолчанию не дает полный путь, только имя файла, я не знаю, где этот путь разрешается нормально. Вероятно, /var/log/.

Ответ 7

Он также может быть /var/log/apache2/error.log, если вы находитесь в движке Google.

И вы можете видеть такой хвост:

tail -f /var/log/apache2/error.log

Ответ 8

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

error_log = /var/log/php.errors

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

Ответ 9

Если у вас есть сборка Apache и PHP из источника, то по умолчанию журналы ошибок генерируются на вашем ${Apache install dir}/logs/error_log i.e вообще /usr/local/apache2/logs/error_log. Если вы установили его из репозитория, вы найдете его в /var/log/apache2/error_log. Вы также можете установить путь в своем php.ini и проверить его, вызвав phpinfo().

Ответ 10

Лучший способ - посмотреть в файле 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".

Ответ 11

При настройке файла журнала ошибок в php.ini вы можете использовать абсолютный путь или относительный путь. Относительный путь будет разрешен в зависимости от местоположения генератора script, и вы получите файл журнала в каждом каталоге, в котором есть скрипты. Если вы хотите, чтобы все ваши сообщения об ошибках переходили в один и тот же файл, используйте абсолютный путь к файлу.

Подробнее здесь: http://www.php.net/manual/en/ref.errorfunc.php#53025

Ответ 12

Если вы используете протокол php5-fpm, значение по умолчанию должно быть под

/var/log/php5-fpm.log

Ответ 13

NGINX обычно хранит его в /var/log/nginx/error.log или access.log. (В любом случае на Ubuntu)

Ответ 14

где бы вы этого ни пожелали, если вы установили его вызов функции: error_log ($ errorMessageforLog. "\n", 4, 'somePath/SomeFileName.som');

Ответ 15

Найдите файл httpd.conf для ErrorLog, запустив cat <file location> | grep ErrorLog в командной строке. Например:

$ cat /etc/apache2/httpd.conf | grep ErrorLog

Вывод:

# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a <VirtualHost>
ErrorLog "/private/var/log/apache2/error_log"

Найдите строку, начинающуюся с ErrorLog, и там ваш ответ.

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

Ответ 16

php --info | grep error

Это полезно прокомментировал sjas на вопрос. так что я включил это как ответ.

Ответ 17

  1. Вы можете зайти в папку File Manager Check Logs.
  2. проверьте файл журнала в папке public_html.
  3. проверьте файл php phpinfo(), где хранится журнал.

Ответ 18

Журналы ошибок cPanel находятся в:

/USR/локальные /Cpanel/журналы/

/USR/локальные /Apache/журналы/

По умолчанию журналы Apche расположены внутри:

/Вар/Журнал/апач

или же

/Вар/Журнал /apache2

Если кто-то использует пользовательское местоположение журнала, вы можете проверить его, выполнив следующую команду:

cat/etc/apache2/conf/httpd.conf | grep ErrorLog

Если вы получаете сообщение об ошибке, что каталог apache2 не существует, вы можете запустить эту команду, чтобы найти правильное местоположение:

где апач

или же

где apache2

Ответ 19

Вы находитесь в общей среде и не можете найти журнал ошибок, всегда проверяйте, есть ли у cPanel опция Errors на вашей панели управления cPanel. Если вы не можете найти журнал ошибок, то вы можете найти его там.

На панели поиска cPanel, Search Error, будут отображаться страницы ошибок, которые в основном представляют собой списки различных страниц ошибок http, а другие ошибки - это места, где отображаются журналы ошибок.

Другие места для поиска в общей среде: /home/имя пользователя/журналы/home/имя пользователя /public_html/error_log