[乐意黎原创]PHP 写入文件时抛failed to open stream:Permission denied in 错误的解决方法

时间:2024-03-22 15:01:47
乐意黎在做ECS主机里 apache+php7 环境里, 写入json 文件时, 无意中抛Warning: fopen(./***.json): failed to open stream: Permission denied in /usr/local/apache/htdocs/****.php on line 397 

can't open file

错误, 总是感觉很奇怪, 本机或其它远程机,一切正常呀.

1.无权限的处理方法

过程如下: 

如图: [乐意黎原创]PHP 写入文件时抛failed to open stream:Permission denied in 错误的解决方法


此处我是用: CuteFtp 工具来调整目录权限.

该目录的权限如图: 权限为 751. 此权限导致的无法写入

[乐意黎原创]PHP 写入文件时抛failed to open stream:Permission denied in 错误的解决方法


把该目录的权限调整为:  757

[乐意黎原创]PHP 写入文件时抛failed to open stream:Permission denied in 错误的解决方法



注: 也可以使用 unix 命令.

 1.  PHP应用程序一般针对Linux下的一般用户,目录应具有可读,可写,可执行权限(即777),文件根据相应操作,分配一般用户相应的权限

    eg: 文件放在/usr/local/使用出问题的目录/,名为: aerchi.json,文件操作为 'r+'

        目录a的权限: chmod 777 aerchi

         文件aerchi.json 的权限至少应为: chmod 006 aerchi.json

   2.  如果文件在/root/下,即使该文件及其所在目录都具有777的权限,也会出现Permission denied的错误提示


2. 另外, PHP.ini 调整时区

php7 里的 php.ini 文件里 大概 926 行左右

; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = PRC


[乐意黎原创]PHP 写入文件时抛failed to open stream:Permission denied in 错误的解决方法+



大功造成,  标记一下.

乐意黎原创

2017-08-25


原文地址: http://blog.csdn.net/aerchi/article/details/77575063