【问题标题】:SilverStripe CMS times-out when changing pages in the CMSSilverStripe CMS 在 CMS 中更改页面时超时
【发布时间】:2013-02-25 03:09:40
【问题描述】:

我过去曾在多台服务器上成功安装过 SilverStripe(但我不是 SilverStripe 专家)。这次我的 SS 安装失败,我不知道如何修复它。

问题

  • SilverStripe 2.4.6 已正确安装在服务器上 (AFAIK)。
  • 前端按预期工作。 (显示默认主题。页面全部正确加载。)
  • 我能够成功登录到 CMS 管理部分。 CMS 会加载,但是当使用左侧的浏览器窗格更改 CMS 中的网站页面时,CMS 会显示圆形加载符号。新页面加载永远不会完成。
  • 在 Firefox 中使用 Firebug 控制台 - 当尝试更改 CMS 中的页面时(通过单击页面浏览器窗格),CMS 会尝试加载两个页面。第二页请求404s。 第一个 GET 请求来自初始页面加载。 单击页面树以更改页面时会触发以下 POST+GET 请求。

试图找到解决方案

我已尝试删除并重新安装 silverstripe 两次。 (2.4.7 和 2.4.6)两次都出现问题。

奇怪的是,这台服务器已经在运行另外两个 silverstripe 站点(我都顺利安装了这两个站点)。所有三个网站都通过不同的域访问。我尝试通过另一个域访问此安装,认为第三个域的配置方式可能有问题,但这也无济于事。

我现在应该尝试什么?我被难住了。

提前致谢。

评论回复

检查您的根 .htaccess 文件。确保 RewriteBase 设置为 /

已检查。 Full .htaccess on PasteBin

确实,javascrip URL 很奇怪。检查上一个 POST 请求返回的内容是否有任何异常。网站是在开发、测试还是实时模式下运行?

我在 POST 请求中看不到任何异常。

找到线索:该站点正在 DEV 模式下运行。切换到 LIVE 模式,问题就消失了。此外,第二个 GET 请求仅在 DEV 模式下显示。

Example Post request with response
Example Get request with respones.

【问题讨论】:

  • javascript 调用很奇怪:它说的是javascrip,而不是javascript。我这里没有这个电话。是否安装了任何模块?您还可以检查编码是否为 utf8,以确保。
  • 没有安装任何模块。这是默认的 SS 安装。我在哪里/如何检查编码?
  • 确实javascrip URL 很奇怪。检查上一个 POST 请求返回的内容是否有任何异常。网站是在开发、测试还是实时模式下运行?
  • 检查您的根 .htaccess 文件。确保 RewriteBase 设置为 /
  • 添加了对问题评论的回复。

标签: content-management-system silverstripe


【解决方案1】:

这不仅仅是一个修复,但如果您更愿意编码而不是寻找错误,那么它可能值得一试! (请记住在进行此修复之前退出 SS)

在你的 mysite/_config.php 文件中更改

Director::set_environment_type("dev");

if(!isset($_GET['isDev']))
   Director::set_environment_type("dev");
else
   Director::set_environment_type("live");

然后你就可以正常开发网站,在直播模式下使用admin,避免你刚才去的bug:http://{your_domain}/admin?isDev=0

注意当 pastebin.com 没有过载并且我可以看到您的回复时,可能会找到正确的答案!

【讨论】:

  • 香农没问题。实际上,我认为不需要 else 语句:-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-09-02
  • 2013-07-01
  • 2013-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多