我有以下测试页
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,不能。
答案 0 :(得分:2)
使用您的终端ssh,首先,将文件所有者更改为apache组
chown -R www-data:www-data /var/www/html/
接下来允许该组的所有成员读取和写入文件
chmod -R g+rw /var/www/html/
这应该可以解决您的问题。我强烈建议你阅读更多关于ubuntu中权限的内容