Это здесь
У меня этот домен.com помечен в /home/username/public_html/domain.com
Я добавил эти строки в .htaccess
ErrorDocument 500 /oohps.php ErrorDocument 404 /where.php
Поэтому я могу показать некоторый стиль шаблона
Проблема в том, что при попытке получить доступ к не существующей странице я получаю и внутреннюю внутреннюю ошибку сервера, чтобы эти файлы не были открыты,
Я хотел проверить журналы, но я не могу найти журнал ошибок по этому пути ( /home/username/public_html/domain.com
),
найдено в: /var/log/httpd
но я не думаю, что это правильная папка, потому что есть много ошибок, не связанных с этой страницей, и я не видел никаких вовлеченных,
Есть ли функция php, которая выводит путь к файлу журнала ошибок ?
Внутренняя ошибка сервера часто связана с Apache и / var / log / httpd / – это файл журнала ошибок apache, поэтому я думаю, что вы в нужном файле.
Путь ошибок задан в php.ini. Чтобы получить путь, используйте ini_get()
:
<?php $errorPath = ini_get('error_log'); ?>
Я не знаю о такой функции, но, возможно, phpinfo();
будет информация об этом?
Пути журнала определяются в файле конфигурации сайта apache, если вы хотите создать для него собственный путь, если по умолчанию все журналы не загружены в /var/log/apache2/*.log, поэтому php не имеет к этому никакого отношения
Чтобы получить только путь, где PHP хранит свои журналы, используйте:
pathinfo(ini_get('error_log'),PATHINFO_DIRNAME);
Который должен вернуть что-то вроде этого (на localhost):
/Applications/MAMP/logs
Проверьте параметр error_log
в php.ini
(или в phpinfo()
)
Поскольку я наткнулся на эту проблему, и ini_get не помогла, это могло быть решением для кого-то еще.
Если error_log не установлен в php.ini или тому подобное, ошибка отправляется в журнал ошибок SAPI. Это, в случае, например, apache2, является журналом ошибок, определенным в конфигурации Apache vhost. Способ получения каталога журнала apache – проверить значение symlink дескриптора файла stderr.
Пример, который работает в linux, будет:
$logdir = pathinfo(realpath("/proc/".getmypid()."/fd/2"), PATHINFO_DIRNAME);
В этом примере читается путь файла symlinked / proc / [PID] / fd / 2, который является дескриптором файла stderr.