У меня полный доступ к моему серверу. Я настроил конфигурацию 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)
Любые предложения, основанные на этом описании?
Вы можете проверить весь свой путь. Возможно, у вас есть родительский каталог без прав доступа.
Кроме того, вы можете запустить простой скрипт для проверки сообщения об ошибке 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);
?>
Других решений пока нет …