php file_put_contents: failed to open stream: Permission denied in ...

技术 回首页
312
头像
众网网络 2019-03-24

linux系统中使用file_put_contents时提示报错failed to open stream: Permission denied in ...发现是权限不够导致

进入linux系统发现,要更改的文件所有者是root用户,而php执行程序的所有者是www-data,低于root用户权限。

潢川新潢网

so,把文件改变一下所有者就行,这里给出一个改变文件所有者方法

sudo chown -R www-data:www-data doc/ #将doc文件夹及文件夹下所有文件的所有者变更为www-data用户组里的www-datae用户,doc可以是文件夹,也可以是文件。

注意:第一个www-data为用户名,第二个www-data为用户组。

更新完就会发现用户组已经变更:

潢川新潢网

此时,再使用file_put_contents时就可以正常写入,而不会报错了。