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



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

我的问题的主题是1.7.3.3 Prestashop当前在共享主机上托管。由于性能缓慢和TTFB时间长,我目前正在将其转移到运行Plesk的VPS,托管在DigitalOcean上。

现在是我有点迷失的部分:我通过WGET复制了文件,转储了数据库,并正确应用了权限(据我所知)。商店在新域名下的新Plesk主机上出现,没有问题。

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

所以,总结一下我的问题:如果我启用filecache,除了模块页面之外的所有东西都可以工作,如果我启用MySQL缓存,除了Apollo Pagebuilder传播之外的所有事情都可以工作。

我已经尝试过的:

我重新安装了Apollo Pagebuilder,但这完全破坏了我的前台(这意味着我必须从头开始重建一切,因为当前状态似乎没有正确读取)。

导出、重新导入和"更新并修复"Apollo,不成功:(

我唯一想到的解决办法就是向上帝献祭,但我宁愿不这么做。

环境:

Ubuntu 16.04 LTS;Plesk Onyx 17.8.11;Prestashop 1.7.3.3;PHP 7.1.26

如果以前没有人遇到过这个问题,也许有人知道删除什么来启用后台的模块。我愿意将MySQL缓存视为不可用。

提前感谢您的帮助。

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

因此,如果有人面临同样的问题:

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

一旦进入:受保护的函数getDoctrine_Dbal_DefaultConnectionService()//**,位于第670行附近

并且绕线5000一次。最简单的方法是只搜索您以前的连接凭据。

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

希望有一天它能帮助到别人。

最新更新