服务器升级到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“
如何调试并修复此问题?
答案 0 :(得分:1)
切换PHP版本时,需要刷新缓存。将您的站点切换到开发模式以进行刷新而无需登录。或者只是删除你的缓存目录(或者创建一个名为silverstripe-cache的根目录。)
答案 1 :(得分:1)
首先尝试按照Simon Erkelens的建议刷新网站缓存。
有时刷新缓存不起作用。这可能是因为SilverStripe版本无法处理PHP版本。
如果我们的站点位于具有cPanel的服务器上,则某些Web主机允许我们通过cPanel选择PHP版本。这个功能不在每个带有cPanel的服务器上,但希望这变得更加常见。
可以在cPanel软件面板中找到选择PHP版本:
在PHP选择器屏幕上有一个PHP版本选择框,允许我们选择PHP版本。要更改PHP版本,请从PHP版本选择框中选择一个选项,然后按设置为当前按钮。刷新站点缓存以查看该站点现在是否正常工作。
我建议使用可与SilverStripe网站配合使用的最新版本的PHP,以使其尽可能安全稳定。
答案 2 :(得分:0)
运行以下命令以摆脱内部服务器错误 的/ dev /构建
如果您的网站是 http://silverdemo.com
然后运行如下命令
http://silverdemo.com/dev/build
它将重建数据库和模型