1. 程式人生 > >php遇到failed to open stream: Permission denied

php遇到failed to open stream: Permission denied

Uncaught exception 'think\exception\ErrorException' with message 'error_log(/www/api/public/../runtime/log/201611/29.log): failed to open stream: Permission denied' in /www/api/thinkphp/library/think/log/driver/File.php 當賦許可權後當天可以,但是明天生成新的log的時候就又出現這樣的問題。(環境時Linux)

解決方法是 :關閉selinux 1 永久方法 – 需要重啟伺服器

修改/etc/selinux/config檔案中設定SELINUX=disabled ,然後重啟伺服器。

2 臨時方法 – 設定系統引數

使用命令

setenforce 0

附:

setenforce 1 設定SELinux 成為enforcing模式

setenforce 0 設定SELinux 成為permissive模式

php的allow_url_fopen選項是關閉了

原因是我們php.ini中把php的allow_url_fopen選項是關閉了,我們只要把它開啟即可。

如果你沒有許可權開啟allow_url_fopen的話我們可使用curl函式的來替換,也是很方法的。

修改/etc/selinux/config檔案中設定SELINUX=disabled,我是這樣解決的

很多網友說是資料夾許可權錯誤,於是通過“chmod -R 777 /你的資料夾”更改所在資料夾的許可權,但不起作用,還是報錯。

幾經痛苦測試排錯,發現更換file_get_contents的url:“http://x.x.x.x:9898/aa/bb/cc.php”,發現不帶埠的file_get_contents是正常的,所以肯定不是資料夾的許可權問題,

再通過網友寫的《file_get_contents不能獲取帶埠的網址》(http://www.111cn.net/phper/31/48374.htm),最終順利解決。

解決辦法如下: 例子 輸出: This is a test file with test text. 同樣此函式還可以用於獲取遠端伺服器上的內容 file_get_contents('http://www.111cn.net'); 這樣也是沒有問題,但是如果我帶了埠了就有問題了

例如: file_get_contents('http://localhost:12345'); --------------------- 本文來自 qhgseeg 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/qhgseeg/article/details/70785654?utm_source=copy