Я на виртуальном хостинге, и у меня есть Cpanel, Apache, PHP управляется fastcgi. Где PHP хранит журнал ошибок?
Есть ли другой способ найти журнал ошибок в среде общего хостинга вместо того, чтобы просматривать всю структуру сайта для поиска файлов error_log?
У меня есть доступ к php.ini
(я использую PHP версии 5.2.16).
error-handling
php
PHPLOVER
источник
источник
/var/log/httpd/error_log
либо/var/log/apache2/error.log
. Эти файлы принадлежат пользователю root, поэтому вам нужно быть пользователем root или использовать егоsudo
для просмотра или чтения.php --info | grep error
php --info | findstr /r /c:"error_log"
чтобы увидеть, где находится файл журнала.Ответы:
PHP хранит журналы ошибок,
/var/log/apache2
если PHP является модулем apache2. Общие хосты часто хранят файлы журналов в вашей подпапке корневого каталога/log
. Но ... если у вас есть доступ кphp.ini
файлу, вы можете сделать это:Согласно комментарию rinogo : если вы используете cPanel, основной файл журнала, который вы, вероятно, ищете, хранится (по умолчанию) в
Если ничего не помогает, вы можете проверить местоположение файла журнала, используя
источник
/usr/local/apache/logs/error_log
<?php phpinfo(); ?>
чтобы подтвердить путьПопробуйте
phpinfo()
и проверьте "error_log"источник
echo ini_get('error_log');
?error_reporting(E_ALL|E_STRICT);
se.php.net/manual/en/function.error-reporting.phpLinux
Терминал выведет местоположение журнала ошибок.
Windows
Командная строка выведет местоположение журнала ошибок
Чтобы установить местоположение журнала
Откройте свой
php.ini
и добавьте следующую строку:Спасибо @chelmertez , @Boom за это (комментирует вопрос).
источник
php -info
нибудь выводит? Вы должны убедиться, чтоphp
на самом деле вызывает PHP для запуска ...php.ini
и наборerror_reporting
дляE_ALL & ~E_DEPRECATED & ~E_STRICT
, или то , что ошибки вы хотите увидеть, а затем установитьerror_log
на путь к каталогу , в котором вы хотите , чтобы ваши ошибки , чтобы войти. (Примечание: это не полный путь к файлу, просто к каталогу.)php --info | grep log
указал мне на / var / www / logs, где находились самые последние журналы.sudo /etc/init.d/apache2 restart
В среде LAMP ошибки php по умолчанию направлены на этот файл ниже.
Все журналы доступа подпадают под:
источник
Как найти свой журнал ошибок PHP в Linux:
Еще один эквивалентный способ:
источник
Похоже, что по умолчанию php нигде не регистрирует ошибки,
error_log
ключ в php.ini закомментирован во всех установках, которые я видел.Вообще я:
locate php.ini
,Поиск этих файлов для
error_reporting
значения;Который должен быть установлен на любое объединение уровней журнала php, достаточно для вас. ,
Например:
E_ALL & ~E_DEPRECATED & ~E_STRICT
Проверьте
error_log
значение, чтобы убедиться, что оно указывает на фактическое место и не закомментировано.Значение по умолчанию не дает полный путь, только имя файла, я не знаю, где этот путь обычно разрешается. Наверное
/var/log/
.источник
Вы должны использовать абсолютный путь при установке переменной error_log в файле php.ini, в противном случае журналы ошибок будут сохраняться в соответствии с вашим относительным путем.
Другим решением было бы написать простой скрипт, который бы перечислял все файлы журналов ошибок из дерева каталогов.
источник
Это также может быть,
/var/log/apache2/error.log
если вы находитесь в Google Compute Engine.И вы можете посмотреть хвост так:
источник
Если у вас есть сборки Apache и PHP из исходников, то журналы ошибок по умолчанию генерируются в вашем
${Apache install dir}/logs/error_log
т.е. в целом/usr/local/apache2/logs/error_log
. Иначе, если вы установили его из репозитория, вы найдете его в./var/log/apache2/error_log
Вы также можете указать путь в вашем хранилищеphp.ini
и проверить его, вызвавphpinfo()
.источник
Лучший способ - заглянуть в ваш файл 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".источник
При настройке файла журнала ошибок в php.ini вы можете использовать абсолютный или относительный путь. Относительный путь будет определяться в зависимости от местоположения генерирующего скрипта, и вы получите файл журнала в каждом каталоге, в котором есть скрипты. Если вы хотите, чтобы все ваши сообщения об ошибках шли в один и тот же файл, используйте абсолютный путь к файл.
Подробнее здесь: http://www.php.net/manual/en/ref.errorfunc.php#53025
источник
Обычно NGINX хранит его в /var/log/nginx/error.log или access.log. (На Ubuntu в любом случае)
источник
Это полезно прокомментировал sjas на вопрос. так что я включил это как ответ.
источник
Если вы используете php5-fpm, лог должен быть по умолчанию
источник
Где бы вы ни захотели, если вы установили вызов своей функции: error_log ($ errorMessageforLog. "\ n", 4, 'somePath / SomeFileName.som');
источник
Найдите файл httpd.conf
ErrorLog
, запустив егоcat <file location> | grep ErrorLog
в командной строке. Например:Вывод:
Найдите строку, которая начинается с,
ErrorLog
и вот ваш ответ.Примечание. Для виртуальных хостов вы можете отредактировать файл виртуальных хостов,
httpd-vhosts.conf
указав другое местоположение файла журнала.источник
Журналы ошибок cPanel находятся в:
По умолчанию журналы Apche расположены внутри:
или
Если кто-то использует пользовательское местоположение журнала, вы можете проверить его, выполнив следующую команду:
Если вы получаете сообщение об ошибке, что каталог apache2 не существует, вы можете запустить эту команду, чтобы найти правильное местоположение:
или
источник
источник
Вы находитесь в общей среде и не можете найти журнал ошибок, всегда проверяйте, есть ли у cPanel опция Errors на вашей панели управления cPanel. Если вы не можете найти журнал ошибок, то вы можете найти его там.
На панели поиска cPanel, Search Error, будут отображаться страницы ошибок, которые в основном представляют собой списки различных страниц ошибок http, а другие ошибки - это места, где отображаются журналы ошибок.
Другие места для поиска в общей среде: / home / имя пользователя / журналы / home / имя пользователя / public_html / error_log
источник
что-то вроде этого :
или
или
источник
Wordpress
Wordpress будет направлять
error_log()
сообщения,/wp-content/debug.log
когдаWP_DEBUG_LOG
установлено значение true.Смотрите документацию Wordpress для WP_DEBUG_LOG
источник