我有一个简单的PHP脚本来创建文件。
$path = "/logs/myapp/file.txt";
touch($path);
$logfile = fopen($path, "w") or die('Unable to create the file.');
但是当我从网络浏览器mydomain.com/writetofile.php
调用脚本时,脚本返回了无法创建文件。
我在Linux Debian Jessie机器上,并且PHP脚本以admin
用户身份运行(由whoami
在PHP脚本和grepping进程(ps
)列表中确认)。 (如果需要的话,我正在使用VestaCP。) /logs/myapp
目录具有755
的{{1}}权限。将权限设置为admin:admin
也不起作用。
但是,如果我与777
用户一起使用命令行运行相同的脚本,那么它将起作用。
编辑:
PHP脚本位于admin
。 /home/admin/web/mydomain.com/public_html
到此路径将返回is_writable()
。但是,即使目录的所有者和组是具有755权限的true
,从is_writable()
到/logs/myapp
也会返回0。
EDIT2:我的Web服务器是 nginx ,后端是 Apache 。