我对 php 或文件权限并不陌生。但我只是将一个非常简单的脚本迁移到我设置的新服务器上。
脚本运行的文件夹位于文档根目录中。该文件夹的权限设置为 755。
该文件夹的所有者是 gsta。该文件的所有者是 gsta。
我打开了 error_reporting 并得到:
Warning: fopen(log.txt): failed to open stream: Permission denied in /var/www/html/log.php on line 13
Run Code Online (Sandbox Code Playgroud)
我试过了:
chmod("log.txt", 0777)
Run Code Online (Sandbox Code Playgroud)
在 php 中,并且还获得权限被拒绝。
我弄完了:
ps -u | grep httpd
Run Code Online (Sandbox Code Playgroud)
并得到:
gsta 1012 0.0 0.0 108608 808 pts/3 S+ 22:45 0:00 grep --color=auto httpd
Run Code Online (Sandbox Code Playgroud)
代码:
$filename = 'log.txt';
$handle = fopen($filename,"a+");
echo "fh:" . fwrite($handle, $payload . "\n") . $handle . "<br/>";
fclose($handle);
Run Code Online (Sandbox Code Playgroud)
即使 PHP 安全模式关闭不重要
我尝试将文件的所有者设置为nobody(apache通常在nobody下运行,我也尝试将所有者设置为apache。
我已经查看了 google 中的每一个帖子,它总是基本的东西,所有这些我都尝试过。这是另一台服务器上的已知工作脚本。我尝试检查 php.ini 以寻找一些会导致此问题的设置。我试过删除文件(因为它应该在这种情况下创建它)
有没有人有任何想法?我已经尝试了所有我能想到的。
小智 7
是否有可能是一些安全性的东西,比如 SELinux,阻止了这些操作?
我遇到了类似的问题setenforce 0
,并且可以关闭 SELinux的命令成功解决了它。
归档时间: |
|
查看次数: |
21297 次 |
最近记录: |