首頁 > 後端開發 > PHP問題 > php fopen 報錯怎麼辦

php fopen 報錯怎麼辦

藏色散人
發布: 2023-03-10 08:56:01
原創
3232 人瀏覽過

php fopen封包錯誤的解決方法:1、修改目錄或資料夾權限;2、修改開啟檔案的路徑;3、修改php.ini設定檔。

php fopen 報錯怎麼辦

本文操作環境: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影片教學###》# ##

以上是php fopen 報錯怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板