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
即可
重启服务器
再次写入文件正常