2014-09-03 62 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

相關問題