Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php fopen 报错怎么办

php fopen 报错怎么办

藏色散人
藏色散人asal
2021-06-02 09:23:053204semak imbas

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、打开方式错误(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视频教程

Atas ialah kandungan terperinci php fopen 报错怎么办. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:怎么删除php所有依赖包Artikel seterusnya:php怎么判断有没有文件夹