php file_put_contents不能写入问题

以下各种原因都可能导致 file_put_contents写入失败

一、权限问题
没有文件、目录权限

二、目标目录不存在
三、php.ini中 open_basedir 进行了限制
open_basedir 可将用户访问文件的活动范围限制在指定的区域,
假设open_basedir=/home/wwwroot/home/web1/:/tmp/,那么通过web1访问服务器的用户就无法获取服务器上除了/home/wwwroot/home/web1/和/tmp/这两个目录以外的文件。
注意用open_basedir指定的限制实际上是前缀,而不是目录名。
例如,“open_basedir = /dir/user”, 那么目录 “/dir/user” 和 "/dir/user1"都是可以访问的。所以如果要将访问限制在仅为指定的目录,需用斜线结束路径名。

四、SELinux限制
查看SELinux状态:/usr/sbin/sestatus -v
SELinux status: enabled 即为开启状态

关闭SELinux:
1、临时关闭(不用重启机器):
setenforce 0 设置SELinux 成为permissive模式
##setenforce 1 设置SELinux 成为enforcing模式
2、彻底关闭:修改/etc/selinux/config 文件,

将【SELINUX=enforcing 】改为【SELINUX=disabled】
重启机器即可。

posted on   剩余价值  阅读(1212)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示