当我将文件权限设置为 时644
,php 文件可以正常工作。但如果我授予他们权限,600
他们就会给我空白页。而且这种情况只发生在本地主机上,在远程主机上,600
php 文件的文件权限工作正常。
我的权限规范:
- 文件夹权限:755
- 文件权限:644
- php文件权限:600
我是否遗漏了需要配置的某些内容阿帕奇2。
注意:只有空白页,没有警告或错误。当我在终端中运行命令时,php something.php
它给出了 HTML 输出,没有任何错误。
答案1
600 表示只有文件所有者才有权读取文件。根据我们的描述,这些文件似乎归您的用户所有,而 Apache 运行的任何用户都不是文件的所有者,因此 Apache 无权读取它们。您可能需要找出 Apache 以哪个用户身份运行,以及chown
文件属于哪个用户。
答案2
事情是这样的:
- localhost 中的文件归普通用户(我)所有,但我不是运行 apache2 服务器的用户。它是
www-data
。 - 我无法将权限设置为 600,因为这样 www-data 将没有所需的权限。
- 我无法将 www-data 设置为所有者,因为这样我将失去编辑 php 文件的能力。
- 剩下的唯一选择是将文件权限设置为 640(其他人有不权限,所以我认为它足够安全),并将 www-data 用户添加到我的组或将组所有权设置为 www-data。
我将 www-data 添加到我的组中,并将我的组添加到 www-data,这样就解决了问题,但我必须忍受 640 (所有者:6,组:4,其他:没有任何)。
我听说过利用others
权限在脚本中引入坏代码;也许我只是有点偏执。