2017-01-23 1 views
0

У меня есть следующие тестовой страницыPHP нет прав для управления файлами

mkdir('test'); 

$f = fopen('test.txt', 'w+'); 
fwrite($f, 'gibberish'); 
fclose($f); 

unlink('test2.txt'); 

Ничто из этого не происходит, и я получаю следующее сообщение об ошибке на erro.log

PHP Warning: mkdir(): Permission denied in /var/www/html/test.php on line 5 
PHP Warning: fopen(test.txt): failed to open stream: Permission denied in /var/www/html/test.php on line 7 
PHP Warning: fwrite() expects parameter 1 to be resource, boolean given in /var/www/html/test.php on line 8 
PHP Warning: fwrite() expects parameter 1 to be resource, boolean given in /var/www/html/test.php on line 9 
PHP Warning: fclose() expects parameter 1 to be resource, boolean given in /var/www/html/test.php on line 10 
PHP Warning: unlink(teste2.txt): Permission denied in /var/www/html/test.php on line 12 

я могу ясно видеть, что я у меня есть разрешения, но у меня нет идей, какое это разрешение и как я могу установить такое разрешение.

Использование git или терминала Я могу создать/удалить/chmod все файлы и каталоги без проблем. Это просто PHP, который не может.

+2

Вы используете его через веб-сервер? При запуске PHP через веб-сервер пользователь использует веб-сервер, которому необходимы разрешения. Для Apache это обычно 'www-data'. –

+2

ну, в первую очередь: какой пользователь * владеет * файлами/папками? если это не тот же пользователь, что и ваш веб-сервер, у вас есть свои проблемы. прочитайте о том, как работают файловые системы unix. –

+0

Обратите внимание: использование chmod 777 всегда плохое, даже для тестирования, оно создает ложное ощущение наличия решения и часто забывается при введении потенциальных рисков безопасности. –

ответ

2

SSH с помощью терминала и, во-первых, изменение владельца файлов для апача группы

chown -R www-data:www-data /var/www/html/ 

Следующая позволяют всем членам этой группы, чтобы читать и писать файлы

chmod -R g+rw /var/www/html/ 

Это должно устранить проблему , Я настоятельно рекомендую вам больше узнать о разрешениях в ubuntu, но