我正在设置我的网站,我需要移动一些文件。我创建了一个简单的 PHP 脚本,其中涉及 mkdir()、copy() 等内容……但我遇到了权限错误。
将受影响的文件夹设置为 777 后,一切正常,但在我的旧站点上,我设置为 755。
如果我在 Plesk 中的用户是 Johnnie,并且文件上的用户是 Johnnie(并且组是 psacln),那么 PHP 脚本是否应该具有访问权限?如果没有,我需要为我的浏览器设置什么用户才能移动文件?
我正在设置我的网站,我需要移动一些文件。我创建了一个简单的 PHP 脚本,其中涉及 mkdir()、copy() 等内容……但我遇到了权限错误。
将受影响的文件夹设置为 777 后,一切正常,但在我的旧站点上,我设置为 755。
如果我在 Plesk 中的用户是 Johnnie,并且文件上的用户是 Johnnie(并且组是 psacln),那么 PHP 脚本是否应该具有访问权限?如果没有,我需要为我的浏览器设置什么用户才能移动文件?
你说的访问是什么意思?- 查看文件属性;- 打开文件进行阅读;- 打开文件进行写入;- 打开文件进行读/写;- 打开文件执行。
请注意,PHP 应用程序中的用户名与 Unix 用户不同,即使他们具有相同的名称。
请注意 apache/php 以 apache、www、www-data、nobody... 用户身份运行。这是在 apache 配置中配置的。找到这个:
在任何更改之前运行备份。
找到您的用户和 apache 用户所属的公共组。如果没有创建一个。
将 DocumentRoot 中的文件和文件夹组更改为该组:
更改文件夹的 SUID,以便该组拥有新文件:
对于要授予 PHP 编写权限的文件夹和文件,请执行以下操作:
如果您通过 cgi 或 mod-php 使用 php,而没有额外的补丁/模块来处理权限,那么您的 php 脚本可能正在使用 Web 服务器的帐户执行。这通常是 www-data、nobody 或其他一些非 root 帐户。
您可能需要将运行 Web 服务器的用户添加到组中,或者创建一个包含 Web 服务器和任何其他需要访问权限的用户的组。