Ваш Процесс HTTP не может получить доступ к файлу. Процесс CentOS 6 Apache работает как пользовательские апачи. Пример:
[root@talara ~]# ps aux | grep httpd
root 2300 0.0 2.7 334744 28020 ? Ss Jul10 0:47 /usr/sbin/httpd
apache 8354 0.0 2.0 334744 20536 ? S Jul21 0:00 /usr/sbin/httpd
apache 8355 0.0 2.0 334744 20536 ? S Jul21 0:00 /usr/sbin/httpd
apache 8356 0.0 2.0 334744 20536 ? S Jul21 0:00 /usr/sbin/httpd
Для тестирования доступа к файлу как апач, я делаю:
[root@talara ~]# su apache
bash-4.1$ cat /var/log/messages
cat: /var/log/messages: Permission denied
bash-4.1$
Большинством путей я знаю о предоставить апачский прямой доступ к тем файлам, будет осужден так или иначе из-за ОГРОМНОЙ дыры в системе безопасности, которую он открывает. Однако, если Вы думаете Вы, безопасность заблокировала вниз достаточно, добавьте апача к sudoers файлу без пароля (см.? ОЧЕНЬ очень плохо). Затем измените свой код PHP на что-то вроде этого:
echo system('sudo cat /var/www/vhosts/test/statistics/logs/access_log');
Вход от сообщества на лучшем подходе приветствовался бы.
Вам придется найти процесс, который пишет с несущественным (не удален!) Файлы (ы). Все операционные системы UNIX и UNIX-A-A, которые позволяют поддерживать процесс открытия файлов, которые не имеют имя в каталоге. Это Fallout из конструкции файловых систем UNIX, где структура данных на диске, которая удерживает разрешения и дисковые блоки данных файла (inode) отличается от имени и местоположения каталога. Вот почему системный вызов Unlink (Const Char * Pathname)
- все, что системный вызов удаляет один из возможностей многих имен файла. Если этот процесс открыт файл, вы не удалили этот файл, вы только что забрали его имя.
Вам придется как-то найти процесс и сделать его выходом. Прошло некоторое время, так как я использовал Solaris. Я знаю, что иногда установленные машины Solaris
- вы можете использовать это, чтобы найти процесс оскорбления, возможно. Солярис имеет файловую систему
/ proc
, но с использованием / proc
, чтобы найти открытые файлы не так просто, как под Linux. Перезагрузка сделает трюк, но кажется резкой мерой.