hi,你好!欢迎访问本站!登录
本站由简数采集腾讯云宝塔系统阿里云强势驱动
当前位置:首页 - PHP问题 - 正文 请牢记本站网址www.sosophp.cn

怎样处理php写入文件权限失利 file_put_contents: failed to open stream: Permission denied【php问题】

2019-11-27PHP问题搜搜PHP网57°c
A+ A-

题目

写日记的要领中用到 file_put_contents 这个要领,今天在实行回调要领的写日记的时刻提醒没有写入文件权限,报错提醒

file_put_contents: failed to open stream: Permission denied(PHP视频教程)

处理历程

搜检日记文件夹权限,由于是按天生成的,有个定时使命定时实行,实行用户是root,所以生成文件夹用户和用户组都是root,而回调要领中实行用户是www,写入日记要领中

 if(!is_dir($dir)){
        mkdir($dir,0777,true);
    }

假如目次不存在,建立目次,但是在php的mkdir函数建立文件夹设置777权限,实际上建立的文件照样755的权限。 在linux体系中在建立文件/文件夹时有一个默许权限,此权限受 umask 设置影响,在/etc/bashrc设置文件中我们能够找到以下设置:

if [ $UID -gt 99 ] && [ "`id -gn`" = "`id -un`" ]; then
        umask 002else
        umask 022fi

linux体系中默许的umask为022,与我们的777 &运算以后,就变成了 755,这就是缘由地点了。 这里的设置直接影响到linux体系的默许权限设置,不仅仅是PHP的题目。所以不发起直接进行修正把022 改成 000 。

末了处理方案

先建立目次,再运用chmod将权限修正为 777

mkdir('test', 0777);
chmod('test', 0777);

以上就是怎样处理php写入文件权限失利 file_put_contents: failed to open stream: Permission denied的细致内容,更多请关注ki4网别的相干文章!

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  选择分享方式
  移步手机端
怎样处理php写入文件权限失利 file_put_contents: failed to open stream: Permission denied【php问题】

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
标签: