将Prestashop迁移到新服务器,缓存和Apollo Pagebuilder

时间:2019-02-03 15:36:45

标签: prestashop-1.7

目前我有点迷茫,或者只是精神障碍。

我要提问的主题是当前在共享托管中托管的 1.7.3.3 Prestashop 。由于性能低下和TTFB较长,我目前将其迁移到运行在DigitalOcean上的运行Plesk的VPS。

现在出现了让我有些失落的部分:我通过WGET复制了文件,转储了数据库,并且(据我所知)正确地应用了权限。 Shop可以在新域名下的新Plesk-Host上正常使用。

一旦我尝试启用MySQL缓存,就能够使用Apollo Pagebuilder编辑页面,但不再保存它们。至少这些变化不会出现在前台。如果我切换回文件缓存,更改将按预期传播,但是后端的模块页面不再起作用(例如,错误500,可以通过删除/ app / cache / prod和app / cache / dev来修复)< / p>

因此,总结一下我的问题:如果启用文件缓存,则除模块页面之外的所有内容都可以使用;如果启用MySQL缓存,除Apollo Pagebuilder传播之外的所有内容都可以使用。

我已经尝试过的方法:

我已经重新安装了Apollo Pagebuilder,但这完全破坏了我的Front Office(意味着我不得不从头开始重建所有内容,因为当前状态似乎无法正确读取)。

导出,重新导入并“更新并修复”了Apollo,不成功:(

只有我想解决的事情会牺牲一些神灵,但我宁愿不这样做。

环境:

Ubuntu 16.04 LTS; Plesk玛瑙17.8.11; Prestashop 1.7.3.3; PHP 7.1.26

如果以前没有人遇到过这个问题,也许有人对删除什么内容有了一个想法,只需要在后台启用模块即可。我愿意将MySQL缓存设置为不可用。

预先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

好的,我想我找到了答案。随着包括缓存的服务器的迁移,它也缓存了数据库连接。 (幸运的是,它无法在以前的数据库上编写)。

因此,如果有人遇到相同的问题:

prestaroot / app / cache / prod / appProdProjectContainer.php 将连接字符串存储在2个位置。

一旦出现:受保护的函数getDoctrine_Dbal_DefaultConnectionService() // **第670行左右

,然后一次绕过5000行。最简单的方法就是只搜索您以前的连接凭证。

还需要确保在 prestaroot / app / cache / prod / appParameters.php 中,存在相同的有效凭据。

希望有一天会有帮助。