php - Silverstripe TinyMCE 在负载均衡器后面崩溃。

标签 php caching tinymce silverstripe

I've been struggling to put SilverStripe behind a load balancer我一直在解决多个与同步实例和使用共享存储有关的问题,并且几乎已经稳定下来,但是我发现了另一个破坏 CMS 的问题。

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

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

我有一个用于 session 存储的共享 redis 缓存,共享数据库,已同步缓存目录并使用 CodeDeploy 部署应用程序,因此它应该全部同步。还有哪些其他存储区域可能导致不同的 m 时间戳?有没有人在没有粘性 session 的情况下成功地将 SilverStripe CMS 用于负载均衡器?

最佳答案

您可以禁用 HTMLEditor 的 gzip 版本。我以前见过这种情况。尝试将以下内容添加到您的 config/config.yml: HTML 编辑器字段: 使用_gzip:错误

在那之后,做一个完全冲洗然后再试一次?

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

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

*编辑

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

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

关于php - Silverstripe TinyMCE 在负载均衡器后面崩溃。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41888196/

相关文章:

php - 简单的 PHP 类, undefined variable ?

php - 选择除查询中两个表中匹配的行之外的所有行

c# - 使用 Azure Redis 缓存重试策略

javascript - 完全重新加载 TinyMCE

tinymce - 在 Diazo 主题 Plone 网站上缺少 TinyMCE?

javascript - 使用 PHP MYSQL 存储带有图像的新闻文章或博客

php - 传值PHP(在线购物车)

list - 在flift中缓存两个列表

php - Laravel 用户特定的缓存

javascript - React TinyMCE 的外部图像上传按钮