2014-09-03 84 views
1

我有以下脚本: /var/www/vhosts/default/download/index.phpPHP - ReadFile的()未能打开流:权限被拒绝

我使用的ReadFile();文件服务解决方案:

$path = '/data/'. $arr["$product"] .''; 
readfile($path); 

,但会产生以下错误:

[错误] [客户XX] PHP的警告:ReadFile的(/data/xxx.iso):未能打开流:权限否认/var/www/vhosts/default/download/index.php第33行,引用者:http://zxc.com/

我认为这是由权限引起的,为此我给777/data目录和777到文件在/数据,但没有解决问题。然后我将目录+文件的所有者更改为apache,但也没有解决它。

还有什么问题?也试图用open_basedir解决它。但没有成功。

+0

删除相对路径的第一个斜杠'/'?或者数据真的是顶级目录? – Tim 2014-09-03 13:43:19

+0

对不起,直接文件夹是:/ data /(它在不同的分区上) – Sinan 2014-09-03 13:44:17

+0

文件是否真的存在? (使用[file_exists](http://php.net/manual/de/function.file-exists.php)进行检查) – Hirnhamster 2014-09-03 13:44:56

回答

1

我发现了这个问题。看来SELinux已启用。禁用SELinux,它现在正在工作。

+0

https://stopdisablingselinux.com/如果问题出在SELinux上,您应该修复相关的权限问题。 – 2017-02-07 18:13:47

相关问题