Установка: CentOS 6.6, Apache 2.2.15, php 5.5.21
Я 'm создание сценария PHP, который отображает содержание /var/log/httpd/error_log
файл. К сожалению, это не работает. Состояния сообщения об ошибке:
Разрешение, отклоненное в/var/www/domain.com/tools/server-logs-viewer.php на строке 405
Строка 405: $f = fopen($filename, "rb");
У меня есть chmoded 0777 файл, только для проверки, все еще остановка. Таким образом, я предполагаю, что сообщение относится к принадлежности файла. Файл журнала принадлежит root:root, тогда как сценарий PHP принадлежит apache:apache.
Что я могу сделать для предоставления достаточно апачского доступа для чтения к файлу, не ставя под угрозу процесс сообщения об ошибке?
Я много лет не делаю ничего в PHP, но без дополнительной информации я бы проверил пару элементов конфигурации системы и настроек php.ini:
путь к файл журнала
Убедитесь, что пользователь, запускающий apache, может получить доступ к каталогу, в котором находится файл. Это означает, что у него должен быть доступ r + x к каталогам по пути.
Настройки php.ini
Пожалуйста, посмотрите руководство php fopen :
SELinux, AppArmor
Вы используете SELinux или AppArmor? Это может помешать процессу apache получить доступ к файлу, несмотря на разрешения.
С уважением