php fopen封包錯誤的解決方法:1、修改目錄或資料夾權限;2、修改開啟檔案的路徑;3、修改php.ini設定檔。
本文操作環境:centOS6.8系統、php 7.2.2版,DELL G3電腦
php fopen函數回傳false怎麼辦?
使用yum安裝的apache2.4.6 php 7.2.2 正確安裝後使用fopen()函數開啟檔案時返回false
#百度一下又有三種原因
1、目錄或資料夾權限原因
(可用 chmod -R 777 根目錄 資料夾設定最高權限)
#2、開啟檔案路徑錯誤
3、
2、開啟檔案路徑錯誤
3、開啟方式錯誤(w,r,a)等
已確定不是上述錯誤
手動新增php錯誤報告
//error handler function function customError($errno, $errstr){ echo "<b>Error:</b> [$errno] $errstr"; } //set error handler set_error_handler("customError");
傳回的錯誤訊息為
failed to open stream: Permission denied
證明沒有權限
換成唯讀模式可以正常打開
猜想是php限制了權限
在php.ini中搜尋open_basedir 查看配置,預設是註釋掉的,也就是說沒有限制權限
最後在網路上各種百度
發現centos系統中預設安裝的有selinux 權限管理,並且是預設開啟的
百度了一下selinux,介紹的好像大部分都是直接關閉的,配置起來好像很麻煩
那就還是關閉吧
vim /etc/selinux/conf
可以看到
SELINUX= enforcing
修改為
SELINUX=disabled
以上是php fopen 報錯怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!