为啥我的网站没有加载,而是出现此错误 - “Smarty:无法写入文件”?
Posted
技术标签:
【中文标题】为啥我的网站没有加载,而是出现此错误 - “Smarty:无法写入文件”?【英文标题】:Why is my website not loading and instead getting this error - "Smarty: unable to write file"?为什么我的网站没有加载,而是出现此错误 - “Smarty:无法写入文件”? 【发布时间】:2020-04-04 06:43:15 【问题描述】:完整的错误信息是:
Fatal error: Uncaught --> Smarty: unable to write file /var/www/html/cache/smarty/compile/9d/fc/13/wrt5df05326c094e8_21248361 <-- thrown in /var/www/html/tools/smarty/sysplugins/smarty_internal_write_file.php on line 46
我已经清除了“/var/www/html/cache/smarty/compile/”目录,而“/var/www/html/cache/smarty/cache”目录只有一个“index.php” " 文件(人们也建议清除此目录)。
我已将这两个目录(甚至递归)以及 smarty_internal_write_file.php 的权限设置为 777。
我已经检查过,驱动器上有足够的空间。还清除了 chrome 缓存/尝试了不同的浏览器。
我上一次尝试访问此站点是 2-3 个月前,没有出现任何问题。我们的网站托管在 AWS 上的 ubuntu EC2 实例上。
我在某处阅读了一个答案,建议如果上述方法不起作用,请联系服务器主机管理员,但我不确定他们如何在这种情况下提供帮助。
【问题讨论】:
【参考方案1】:您的脚本是否也创建了必要的文件夹?它们存在吗?
如果您只有 /var/www/html/cache/smarty/compile/ 并且您要求脚本写入 /var/www/html/cache/smarty/compile /9d/fc/13/ 文件名为 wrt5df05326c094e8_21248361,那么它还需要先创建 /9d 然后创建 /fc 和/13。
即使是 fopen 中的选项 w+ 也不会递归创建 3 个目录。
chmod(777) 存在安全风险,您应该将文件 chown 给网络用户。
【讨论】:
【参考方案2】:这绝对是权限问题。通常目录有:755 和文件:644。 暂时,从管理员禁用缓存。然后尝试加载网站。
【讨论】:
如何从管理员禁用缓存? 哦,您的意思是从管理站点中禁用缓存?问题是我也无法加载管理站点 我在尝试加载管理页面时遇到同样的错误,如果这就是你的意思的话。以上是关于为啥我的网站没有加载,而是出现此错误 - “Smarty:无法写入文件”?的主要内容,如果未能解决你的问题,请参考以下文章
为啥有的网页会显示很抱歉,此网站无法访问,别人都可以访问的。