在PHP脚本中,检查文件是否可写时,会出现以下错误。 p> \ n
fopen(test.txt):无法打开流:权限被拒绝
code> pre>
请查看详细信息: p> \ n
-
Apache服务以用户身份运行:apache,选中: p>
ps aux | egrep'(apache | httpd)' code> p> li>
ol>
2.要写入的文件的所有权和php脚本更改为apache。 p>
chown apache:apache test.txt
chown apache:apache test.php
code> pre>
3.文件权限 更改为:777 p>
chmod 777 test.txt
chmod 777 test.php
code> pre>
4.Tried setting :
已经尝试过的解决方案: fopen文件权限被拒绝 拥有777权限 p>
操作系统:Redhat Enterprise p>
代码: p>
&lt ;?php
echo getmyuid()。':'。getmygid();
echo“< br />”;
echo exec('whoami');
echo“< br />”;
$ dst ='test.txt';
echo $ dst,file_exists($ dst)? 'exists':'不存在< br />',“< br />
”;
echo $ dst,is_readable($ dst)? '可读':'不可读',“< br />
”;
echo $ dst,is_writable($ dst)? '是可写':'不可写< br />',“< br />
”;
$ fh = fopen($ dst,'w');
if(!$ fh){
echo'last error:';
var_dump(error_get_last());
}
code> pre>
输出: p>
33:33
apache
test.txt存在
test.txt是可读的
test.txt是不可写的
last error:array(4){[“type”] => int(2)[“message”] => string(57)“fopen(test.txt):无法打开流:权限被拒绝”[“file”] => string(34)“/ var / www / data / test2.php”[“line”] => int(10)}
code> pre>
div>