使用SilverStripe时出现500内部服务器错误

时间:2016-03-09 10:28:15

标签: php silverstripe

服务器升级到PHP 5.6后,我的SilverStripe网站出现问题。我的Web主机将服务器从PHP 5.3升级到PHP 5.6,现在每个页面都发生500服务器错误。

来自SilverStripe的消息是:

  

抱歉,处理您的请求时出现问题。

在服务器错误日志文件中没有错误条目。 在服务器访问日志中,您可以看到500错误:

  

错误:   [09 / Mar / 2016:11:12:07 +0100]“GET /安全/登录?BackURL =%2Fadmin HTTP / 1.1”500 11398“ - ”“Mozilla / 5.0(Macintosh; Intel Mac OS X 10_11_3)AppleWebKit / 537.36(KHTML,与Gecko一样)Chrome / 49.0.2623.75 Safari / 537.36“

文件中的下一个条目是OK:

  

[09 / Mar / 2016:11:12:08 +0100]“GET /themes/ustheme/css/us.style.css HTTP / 1.1”304 0“http://www.example.com/Security/login?BackURL=%2Fadmin”“Mozilla / 5.0( Macintosh; Intel Mac OS X 10_11_3)AppleWebKit / 537.36(KHTML,如Gecko)Chrome / 49.0.2623.75 Safari / 537.36“

如何调试并修复此问题?

3 个答案:

答案 0 :(得分:1)

切换PHP版本时,需要刷新缓存。将您的站点切换到开发模式以进行刷新而无需登录。或者只是删除你的缓存目录(或者创建一个名为silverstripe-cache的根目录。)

答案 1 :(得分:1)

首先尝试按照Simon Erkelens的建议刷新网站缓存。

有时刷新缓存不起作用。这可能是因为SilverStripe版本无法处理PHP版本。

如果我们的站点位于具有cPanel的服务器上,则某些Web主机允许我们通过cPanel选择PHP版本。这个功能不在每个带有cPanel的服务器上,但希望这变得更加常见。

可以在cPanel软件面板中找到选择PHP版本:

cPanel - Select PHP version screenshot 1

在PHP选择器屏幕上有一个PHP版本选择框,允许我们选择PHP版本。要更改PHP版本,请从PHP版本选择框中选择一个选项,然后按设置为当前按钮。刷新站点缓存以查看该站点现在是否正常工作。

cPanel - Select PHP version screenshot 2

我建议使用可与SilverStripe网站配合使用的最新版本的PHP,以使其尽可能安全稳定。

答案 2 :(得分:0)

运行以下命令以摆脱内部服务器错误 的/ dev /构建

如果您的网站是 http://silverdemo.com

然后运行如下命令

http://silverdemo.com/dev/build

它将重建数据库和模型