我正在尝试做一个名为 SnowBall 的项目,我使用 phpBB 来做这个项目,但在第 2 步的要求和最后它说
cache/:
Found, Unwritable
files/:
Found, Unwritable
store/:
Found, Unwritable
我尝试过的事情:
⚫chmod 777
⚫修改版本 002
⚫修改版本 775
⚫修改版本 660
⚫修改版本 770
这些都不起作用任何想法的帮助都值得赞赏提前感谢
答案1
我首先要检查的是 SELinux 是否导致了此问题。您可以通过暂时禁用它或查看 /var/log/audit.log 来做到这一点。
如果不是这种情况,您需要确定文件被写入的位置 - 很可能就是您期望的位置,但由于错误显示相对地址,因此问题可能出在其他地方。(我不使用 PHPBB,但我猜如果您在 PHP 代码中查找“Found, Unwritable”,您可以破解它附近的一行来显示完整路径,可能使用类似 echo $dirname($path variable) 的内容。或者,您可能需要设置一个配置文件,其中包含路径的基本目录。
此外,由于您具有“chmod”访问权限,请尝试将这些目录的所有权转交给 Web 用户(通常是 http、httpd 或 www-data - 您可以通过查看谁在运行 Web 服务器或 /etc/passwd 中的用户名来查看哪一个。我不认为运行 chmod 777 是个好主意,尽管它允许文件被写入而不管所有者是谁 - 而运行 chmod 002 显然是错误的,不允许任何人读取文件,只有非所有者和非组用户才能写入文件)
您还应该检查所有父路径是否可被网络用户读取,并确保您要查找的目录存在。