Apache 无法写入 2777 文件夹

Apache 无法写入 2777 文件夹

我在我的网站上使用 smarty 模板系统。

当它尝试缓存一些数据时,会发生致命错误:

Fatal error: Smarty error: unable to write to $compile_dir '/var/www/html/cache/frontend'. Be sure $compile_dir is writable by the web server user. in /var/www/html/include/smarty/libs/Smarty.class.php on line 1092

我今天刚刚拿到我的 vps(Centos 7)并进行了基本的 LAMP 设置。

我已使用 sftp(root 用户)上传了 /var/www/html 中的所有内容。然后我(仍使用 filezilla)将 /var/www/html/cache 及其所有文件/子目录设置为 777。

无论我尝试什么,我都无法让 apache 写入缓存文件夹或子文件夹。

奇怪的是,当这样做的时候

[root@localhost ~]# chmod -R 0777 /var/www/html/cache

缓存文件夹仍然设置为2777。

我也尝试让“apache”成为 /var/www/html/cache 及其所有文件/子目录的所有者,但仍然无法在其上写入。

当谈到服务器设置时,我完全迷失了方向,并且是个新手。

任何帮助都将不胜感激,谢谢。

答案1

您是否尝试创建 /var/www/html/cache/frontend?

mkdir /var/www/html/cache/frontend
chown apache /var/www/html/cache/frontend
chmod 0750 /var/www/html/cache/frontend

答案2

我已经通过禁用 SELinux 解决了该问题。

我使用过以下命令:setenforce 0

然后我能够从 filezilla 将缓存文件夹及其所有子目录的 chmod 设置为 0777,并使用 SFTP 进行记录。

希望它可以帮助别人

相关内容