Joh*_*Lee 1 server php permissions apache2
我正在运行 Ubuntu 14.04 版,并且我有一个 apache2 服务器设置为在本地主机上托管一些存储在/var/www/html.
当我尝试在我的 php 脚本之一中执行以下代码时
<?php
$file = fopen("test.txt","w");
fwrite($file,"Hello World. Testing!");
fclose($file);
?>
Run Code Online (Sandbox Code Playgroud)
搜索后,我没有在我的 /var/www/html 或我计算机上的任何位置找到名为 test.txt 的文件。文件名不存在,我正在使用,sudo nautilus因为我没有必要的权限来编辑 .php 文件中的 php 文件/var/www/html。为什么文件没有出现在我的/var/www/html文件夹中,我该如何解决这个问题以便创建文件?
我刚刚在我的服务器中测试了你的 php 文件,它工作得很好。
您的问题一定是用户www-data没有对该文件夹的写权限。
如果该用户确实没有对该文件夹的写权限,那么您将在文件中看到错误消息 /var/log/apache2/error.log
为了查看最后的错误,请执行
tail -n 15 /var/log/apache2/error.log
Run Code Online (Sandbox Code Playgroud)
例如,如果我不是“test.txt”,而是输入“/test.txt”(写入/,只有root可以),我会在日志文件中收到此错误:
[: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
Run Code Online (Sandbox Code Playgroud)
上面明确指出拒绝许可。
您可以通过为 user 授予对该文件夹的写权限来解决此问题www-data。
| 归档时间: |
|
| 查看次数: |
11923 次 |
| 最近记录: |