PHP 没有创建新文件或写入文件的权限


PHP Does not have the permission to create a new file nor to write into a file

(Linux CentOS 7) 我已经安装了 Zend Serve 8。当我想访问一个项目时(目前它是OpenCart,但我也用Laravel测试了它),它会抛出错误,即某些文件的权限被拒绝(不允许它写入)。这是错误:

 Warning: mkdir(): Permission denied in /var/www/html/project/dir/install.php on line 26

但是还有其他一些与上述错误完全相同的错误,唯一的区别在于功能(file_put_contents())。我该怎么办?ZendServer被拒绝还是PHP

您需要在

您希望 PHP 处理的目录上设置权限级别。在 SFTP 或其他任何内容中打开您的目录,并将其权限更改为所有者读取、写入、执行和组读取、写入、执行等,只需读取 - 总结为将其设置为 774。这可能不是最好的 - 最安全的设置(对不起,我在这个确切的主题上不是更专家),但它对我有用。这是因为该文件夹不是由 PHP 创建的,并且在创建时将其设置为不允许其他人保存和写入它。

显示:

        Read | Write | Execute
Owner    X       X        X
Group    X       X        X     <-- see * 
Others   X 

也被视为#774

  • 在您的文件系统上,这是PHP很可能设置的类别,它不是目录的所有者,因此不会获得上面所示的权限。将权限更改为上述设置,PHP 现在应该能够在该文件夹中工作。

编辑:

重要提示:使更改递归!