Разрешение отклонено, несмотря на соответствующие разрешения с использованием PHP

Я пытаюсь прочитать файл в PHP и получаю сообщение об ошибке «Доступ запрещен», хотя у всех есть доступ для чтения к файлу.

Код PHP:

$config=file_get_contents('/opt/jenkins/home/config.xml');

Ошибка:

Warning: file_get_contents(/opt/jenkins/home/config.xml): failed to open stream: Permission denied in [...]

Разрешение файловой системы:

Существует символическая ссылка, указывающая / opt / jenkins / home / на / var / lib / jenkins , и у всех есть разрешение на чтение символической ссылки, фактической папки, и файл.

$ ls -lh /opt/jenkins/
lrwxrwxrwx 1 sysadmin sysadmin   16 2011-08-04 08:12 home -> /var/lib/jenkins

$ ls -lh /var/lib/ | grep jenkins
drwxr-xr-- 6 jenkins adm     4.0K 2011-08-04 10:04 jenkins

$ ls -lh /var/lib/jenkins/config.xml
-rwxr-xr-- 1 jenkins adm 3.9K 2011-08-04 10:05 /var/lib/jenkins/config.xml

Конфигурация Apache

Настроена для отслеживания символических ссылок ( Параметры Все ). Добавление директивы Directory для / var / lib / jenkins / не имеет значения.

<Directory /opt/jenkins/home/>
        Options All
        AllowOverride All
        Order Allow,Deny
        Allow from All
</Directory>

Дополнительная информация

Использую ли я путь через символическую ссылку ( "/ opt / jenkins / home / config.xml ") или реальный путь (" / var / lib / jenkins / config.xml ") У меня та же проблема.

apache2 version=2.2.14-5ubuntu8.4
php version=5.3.2-1ubuntu4.9

Любая идея, как почему я получаю сообщение об ошибке?

14
задан jww 22 February 2018 в 17:29
поделиться