在处理一个虚拟主机的报500错误的时候 一开始以为是程序错误 奇怪的是网站运行了很长时间都没有问题突然就显示了错误
让空间商查,结果是php文件可以访问,html页面也可以访问 唯独写数据库连接、验证码等程序出错 (验证码是不能显示)
这时出现一个奇怪的情况就是之前用的 xxxxx.mysqlxxx.com的这种连接是可以连接上的,现在却不能了 网站不报500错误了 反而是报mysql_connect连接不上错误
在本地用二级域名连接,连不上,改用ip地址 可以连接上,到服务器上也是的 改成了ip地址(测试的时候是直接用字符串,没用到变量)
还是会有Notice 未定义的变量,这就比较好处理了 一个是error_reporting 还有是 display_error
结果发现原来display_error 设置为 on
php手册上说明:这是一个辅助开发的功能,建议永远不要在生产系统中使用 (例如系统被连接到互联网对外提供服务)。同时也容易暴露敏感信息
综合的来看可能是一开始服务不稳定,结果不能访问了 可能空间商把display_error设置为on显示看报什么错误,而在程序中又没有按严格的变量先定义后使用的要求,就报错了 把display_error关闭就可以了

本文探讨了虚拟主机出现500错误的原因,包括程序错误、数据库连接问题以及display_error设置不当,并提供了相应的解决策略。
636

被折叠的 条评论
为什么被折叠?



