Не может создать файл в/var/www/html

Я выполняю версию 14.04 Ubuntu, и мне настраивали apache2 сервер для хостинга некоторых php файлов на localhost, которые хранятся в /var/www/html.

Когда я пытаюсь выполнить следующий код в одном из моего сценария PHP

<?php
$file = fopen("test.txt","w");
fwrite($file,"Hello World. Testing!");
fclose($file);
?>

Я не нахожу файл сохраненным в моем/var/www/html под названием test.txt, или нигде на моем компьютере после поиска. Имя файла уже не существует, и я использую sudo nautilus потому что у меня нет необходимых полномочий отредактировать php файлы в /var/www/html. Почему файлы не появляются в моем /var/www/html папка и как я могу зафиксировать это так, чтобы файл был создан?

1
задан 2 November 2014 в 16:28

1 ответ

Я просто протестировал Ваш php файл в своем сервере, и это работает просто великолепно.

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

, Если действительно, что у пользователя нет полномочий записи к той папке, тогда Вы будете видеть сообщения об ошибках в файле /var/log/apache2/error.log

, Чтобы посмотреть на последние ошибки, сделать

tail -n 15 /var/log/apache2/error.log

, Например, если я, вместо "test.txt", помещаю "/test.txt" (пишут в/, был только корень, может), я получить эту ошибку в файле журнала:

[:error] [pid 7505] [client 127.0.0.1:47066] PHP Warning:  fopen(/test.txt): failed to open stream: Permission denied in /var/www/html/a.php on line 2

Вышеупомянутое ясно указывает, что разрешение отклонено.

можно решить эту проблему путем предоставления разрешения записи той папке для пользователя www-data.

дают определенные полномочия пользователя записать в папку с помощью +w нотацию

4
ответ дан 10 November 2019 в 18:43

Другие вопросы по тегам:

Похожие вопросы: