我知道这个问题已经被覆盖,如果我来这里寻求帮助,这是因为我在互联网上找到的所有解决方案都没有不为我工作。Prestashop:SmartyException'带消息'无法写入文件...'
问题是以下几点:
我正在使用Prestashop 1.6。我在本地开发了我的网站,一切正常,所以我决定把它放到网上。但是,移动数据库和我的FTP网站后,我遇到了以下错误:
未捕获的异常“SmartyException”有消息“无法写入文件/ home /网络/ chienchat /缓存/ smarty/compile/wrt53fc8900660ea3.68556794'in /home/web/chienchat/tools/smarty/sysplugins/smarty_internal_write_file.php:44 堆栈跟踪:#0 /home/web/chienchat/tools/smarty/sysplugins/smarty_internal_template.php( 201):Smarty_Internal_Write_File :: writeFile('/ home/web/chien ...','compileTemplateSource()#2 /home/web/chienchat/classes/module/Module.php(1860):Smarty_Internal_TemplateBase-> fetch() #3 /home/web/chienchat/modules/blockuserinfo/blockuserinfo.php(72):ModuleCore-> d isplay('/ home/web/chien ...','blockuserinfo.t ...')#4 /home/web/chienchat/classes/Hook.php(507):BlockUserInfo-> hookDisplayTop(Array)#5 /home/web/chienchat/classes/controller/FrontController.php(444):HookCore :: exec('displayTop')#6 /home/web/chienchat/controllers/front/IndexController.php(37):F in /家用/网络/ chienchat /工具/智者/ sysplugins/smarty_internal_write_file.php上线44
我发现它可能是文件权限,所以对于测试的缘故,我已经设置CHMOD 777整个www,通过使用FileZilla。问题仍然存在。 我想指出,删除缓存/ smarty文件夹后,并刷新非工作页面后,文件夹缓存/ smarty /编译是重新创建,但它是空的。请帮助我,我似乎无法解决任何问题。
我没有安装新的Prestashop,我将我的本地prestashop文件夹传输到我的网站。我需要直接重新安装Prestashop吗?顺便说一下,我怎么能确定我正在使用的Apache用户是所需文件夹的所有者?我在我的ftp中创建了它们,并且我使用“root”用户登录到服务器,所以我非常肯定它很好,不是吗?如何在无需再次安装的情况下获得环境兼容性检查?我非常感谢你的关注。 我精确我没有使用Linux或Ubuntu的,因此我不能像我在大多数互联网主题上看到的那样键入命令行。 – Malcom 2014-08-29 06:38:07
不,你不需要重新安装PrestaShop。只要确保文件夹有权限。在大多数情况下,这是问题 - smarty不能写入编译文件夹(cache/smarty/compile)。您可以在BackOffice>高级参数>配置信息中查看它。 root用户和apache用户是两个不同的用户。 Root有访问权限,但apache可能没有。只需用755测试cache/smarty/compile即可。 – PrestaShopDeveloper 2014-08-29 07:08:36
我在每个文件夹和文件上都设置了CHMOD 755,但它不起作用。我尝试了775,它也没有工作。我无法访问服务器上的后台,因此我无法检查配置信息。我能做什么?我收到了一条新消息:我再次删除了缓存/ smarty文件夹,但是当我刷新页面时,文件夹没有再次创建。将CHMOD 777放在“缓存”文件夹后,再次刷新页面后,创建了文件夹cache/smarty和cache/smarty/compile,但后者为空。 – Malcom 2014-08-29 08:18:45