Где я могу найти файлы журнала ошибок? Мне нужно проверить их для решения внутренней ошибки сервера, показанной после установки suPHP.
Где я могу найти файлы журнала ошибок?
Ответ 1
Вы можете использовать "lsof" для поиска открытых лог файлов в вашей системе. lsof просто дает вам список всех открытых файлов.
Используйте grep для "log"... снова используйте grep для "php" (, если имя файла содержит строки "log" и "php", как в "php_error_log", и вы являетесь пользователем root, вы найдете файлы, не зная конфигурации).
[email protected]:~# lsof |grep log
... snip
gmain 12148 12274 user 13r REG 252,1 32768 661814 /home/user/.local/share/gvfs-metadata/home-11ab0393.log
gmain 12148 12274 user 21r REG 252,1 32768 662622 /home/user/.local/share/gvfs-metadata/root-56222fe2.log
gvfs-udis 12246 user mem REG 252,1 55384 790567 /lib/x86_64-linux-gnu/libsystemd-login.so.0.7.1
==> apache 12333 user mem REG 252,1 55384 790367 /var/log/http/php_error_log**
... snip
[email protected]:~# lsof |grep log |grep php
**apache 12333 user mem REG 252,1 55384 790367 /var/log/http/php_error_log**
... snip
Также см. эту статью о поиске открытых лог файлов: Найти открытые лог файлы в системе linux
Ответ 2
Работает для меня. Как регистрировать все ошибки php в log fiie?
Просто добавьте следующую строку в /etc/php.ini для регистрации ошибок в указанном файле -/var/log/php-scripts.log
vi /etc/php.ini
Изменить директиву error_log
error_log = /var/log/php-scripts.log
Убедитесь, что для параметра display_errors установлено значение Выкл. (нет ошибок для конечных пользователей)
display_errors = Off
Сохраните и закройте файл. Перезапустить веб-сервер:
/etc/init.d/httpd restart
Как регистрировать ошибки в syslog или журнале событий Windows Server?
Измените error_log следующим образом:
error_log = syslog
Как узнать журналы?
Login using ssh or download a log file /var/log/php-scripts.log using sftp:
$ sudo tail -f /var/log/php-scripts.log
Ответ 3
Какую ОС вы используете и какой веб-сервер? В Linux и Apache вы можете найти apache error_log в/var/log/apache2/
Ответ 4
В CentoS с cPanel установлены мои журналы:
/usr/local/apache/logs/error_log
Смотреть: tail -f /usr/local/apache/logs/error_log
Ответ 5
Я использую Cent OS 6.6 с Apache, и для меня файлы журнала ошибок находятся в
/USR/локальные/Apache/журнал
Ответ 6
Это предпочтительный ответ в большинстве случаев использования, поскольку он позволяет отделить выполнение программного обеспечения от непосредственного знания серверной платформы, что делает ваш код намного более переносимым. Если вы выполняете много cron/cgi, это может не помочь напрямую, но его можно установить в конфигурацию в веб-среде выполнения, которую скрипты cron/cgi извлекают, чтобы сохранить согласованность журнала в этом случае.
Вы можете получить текущий файл журнала, назначенный изначально на php на любой платформе во время выполнения, используя:
ini_get('error_log');
Это возвращает значение, распространяемое непосредственно в php файл на веб-сервере, что вы хотите в 90% случаев использования (с явным исключением является cgi). Cgi часто регистрируется в том же месте, что и клиент http web-сервера, но не всегда.
Вы также захотите проверить, что он можно записать перед тем, как совершить что-либо, чтобы избежать ошибок. Файл conf, определяющий его местоположение (обычно apache.conf глобально или vhosts.conf для каждого домена), но conf не гарантирует, что разрешения на файлы разрешают доступ на запись во время выполнения.
Ответ 7
Это демонстративно поможет вам,
https://davidwinter.me/enable-php-error-logging/
ИЛИ ЖЕ
В php.ini: (vim/etc/php.ini или Sudo vim/usr/local/etc/php/7.1/php.ini)
display_errors = Off
log_errors = On
error_log =/var/log/php-errors.log
Сделайте файл журнала и сделайте запись доступной для www-data:
sudo touch/var/log/php-errors.log
/var/log/php-errors.log
Судо Чоун: www
Спасибо,
Ответ 8
Для пользователей Unix Cli:
Скорее всего, запись ini error_log не установлена. Для проверки:
php -i | grep error_log
// error_log => no value => no value
Вы можете установить его в своем файле php.ini cli или просто быстро направить все STDERR в файл:
./myprog 2> myerror.log
Затем быстро:
tail -f myerror.log