银条TinyMCE在负载平衡器后面崩溃



我一直在努力将SilverStripe放在负载均衡器后面,我一直在修复实例同步和使用共享存储的多个问题,并几乎使其稳定,但我发现了另一个破坏CMS的问题。

特别是当您尝试在TinyMCE编辑器的CMS中添加链接时,当弹出屏幕显示选择页面/文件时,JavaScript会抛出一个异常,即tinyMCE.activeEditor返回null

我已经在两台服务器之间同步了缓存目录silverstripe-cache,但m=timestamp之间仍然只有几秒钟的差异,但我猜这足以导致tiny_mce_gzip.php被迫再次加载。

我有一个用于会话存储的共享redis缓存,共享数据库,已经同步了缓存目录,并使用CodeDeploy部署应用程序,所以它应该都是同步的。其他哪些存储区域可能导致m时间戳不同?有人成功地在没有粘性会话的负载均衡器后面使用了SilverStripe CMS吗?

您可以禁用gzip版本的HTMLEditor。我以前见过这种情况。尝试将以下内容添加到config/config.yml中: HTMLEditorField: use_gzip: false

之后,进行一次彻底的冲洗,然后再试一次?

另一种选择是javascript没有正确同步。为此,您需要更改?m=12345的构建方式。默认情况下,它是基于时间戳构建的。

我会看看我是否能找到基于md5的,否则可能会解决你的问题。

*编辑

开始吧,试着在项目中的某个地方创建它,并将以下内容添加到_config.php Requirements::set_backend(new MysiteRequirementsBackend()); https://gist.github.com/Firesphere/794dc0b5a8508cd4c192a1fc88271bbf

实际工作是由我的一位同事完成的,当时我们遇到了同样的问题。

最新更新