php 如何修复错误“致命错误:未捕获--> Smarty:无法写入文件”?

smdncfj3  于 5个月前  发布在  PHP
关注(0)|答案(4)|浏览(80)

我迁移Prestashop从localhost到网站域使用digitalocean,但当我打开这个网站我得到这个错误
致命错误:未捕获--> Smarty:/var/www/html/prestashop/cache/smarty/compile/a4/36/f1/wrt549a35e49b3b44_77591243 <-- thrown in/var/www/html/prestashop/tools/smarty/sysplops/smarty_internal_write_file.php on line 46.
我尝试将smarty文件夹的权限更改为755,但不起作用。我不知道如何修复它。

w6mmgewl

w6mmgewl1#

你的问题肯定是关于权限的。这取决于Apache和PHP是如何设置的。
首先,检查谁拥有这些文件夹。例如,简单的apache 2和php安装以www-data用户运行。例如,如果您使用'user 1'连接到FTP并将文件上传到那里,则文件归您所有。组可能也设置为'user 1'。
因此,您可以修改、写入这些文件,但PHP进程不能,因为它们不拥有这些文件(例如,PHP作为www-data运行)。
你最好的办法是联系服务器管理员,让他帮助你。
请记住:不要为网站上的任何文件/文件夹设置777,请以正确的方式解决问题。

g9icjywg

g9icjywg2#

设置www-data权限以访问fpm.sock

sudo chown -R www-data:www-data /var/www/*

字符串

3okqufwl

3okqufwl3#

对于Prestashop安装删除以下文件夹的内容:缓存/smarty/compile,缓存/smarty/缓存,img/tmp;
删除文件夹中的所有文件,**index.php文件除外。
如果这不是工作chmod目录到775

3qpi33ja

3qpi33ja4#

我使用以下命令授予对主网站目录中的目录和子目录的读写访问权限。之后,您可以手动授予对需要读写访问权限的文件的访问权限。
sudo find . -type d -exec chmod a+rw {} ; sudo chmod a+rw filename.ext

相关问题