file_put_contents说权限被拒绝了?

Lat*_*tox 8 php io

可能重复:
file_put_contents权限被拒绝

我最近转移了服务器,似乎file_put_contents不能在新服务器上运行.

一切都是一样的,文件夹是正确的chmodded,但由于某种原因,它不是创建文件并将内容放入其中.

我创建了一个测试供您查看,模拟我们目前的工作方式:

file_put_contents("/home/user/public_html/test/test.progress", "test");
Run Code Online (Sandbox Code Playgroud)

该脚本正在运行

/home/user/public_html/test.php

/test folder is chmodded to 755 (777 makes no difference)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Warning: file_put_contents(/home/user/public_html/test/test.progress) [function.file-put-contents]: failed to open stream: Permission denied in /home/user/public_html/test.php on line 2
Run Code Online (Sandbox Code Playgroud)

我是否需要更改服务器上的任何设置才能使其正常工作?怎么了?

Ada*_*old 9

您可能正在使用错误的用户.检查php是否使用拥有您尝试编写的目录的同一用户.Php经常使用wwwdata,所以如果目录被chmodded为755,则意味着用户创建的目录可以写入,但其他人只能读取.chown到php用户或chmod到777.

我个人在fastcgi上运行php,它运行的是一个独特的用户,所以我没有这个问题,你可能会想到切换到fcgi.