Невозможно записать файл вне корня приложения в PHP под Apache, Linux, cPanel

У меня полный доступ к моему серверу. Я настроил конфигурацию cPanel / Apache, чтобы разрешить доступ к каталогу / var / web / reuse (который не находится в корне моего документа), но я не могу создавать или записывать файлы там в PHP. Я могу читать файлы там, используя PHP. По словам phpinfo, основателя нет. Я могу без проблем записывать файлы в корневой каталог и потомки моего документа. Каталог, в который я пытаюсь записать, имеет разрешения для Linux drwxrwxrwx. Я пишу, используя полный абсолютный путь. Функция PHP is_writeable () возвращает false для родительского каталога файла.

Добавлено 15.10.18:

разрешения следующие:

/ dr-xr-xr-x
/var drwxr-xr-x
/var/web drwxr-xr-x
/var/web/reuse drwxr-xr-x
/var/web/reuse/data drwxrwxrwx (I am trying to write here)

Любые предложения, основанные на этом описании?

0

Решение

Вы можете проверить весь свой путь. Возможно, у вас есть родительский каталог без прав доступа.

Кроме того, вы можете запустить простой скрипт для проверки сообщения об ошибке PHP:

<?php
error_reporting ( E_ALL);
ini_set ( "display_errors", "on");
file_put_contents ( "/var/web/reuse/test.txt", "hello world!");
?>

Возможно, вы были заблокированы open_basedir Директива PHP.

На консоли вы можете проверить свои разрешения дерева каталогов, используя:

ls -lad /var
ls -lad /var/web
ls -lad /var/web/reuse

Также вы можете проверить, какой пользователь PHP использует этот скрипт:

<?php
$userinfo = posix_getpwuid ( posix_getuid ());
var_dump ( $userinfo);
?>
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]