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