• 技术文章 >后端开发 >PHP问题

    php fopen 报错怎么办

    藏色散人藏色散人2021-06-02 09:23:05原创81

    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、打开方式错误(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中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:php
    上一篇:怎么删除php所有依赖包 下一篇:php怎么判断有没有文件夹
    第16期线上培训班

    相关文章推荐

    • 如何让PHP能够调用C的函数• 详解PHP中的echo语句• php转小写的函数是什么• 如何解决php7无法加载curl的问题• 怎么删除php所有依赖包

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网