新做一个项目,使用帝国备份王做数据备份,在测试服务器(apache2+php5.3)上一切正常,更新到正式服务器(apache2+php5.5)上时,访问却是一片空白,什么都没有提示。 用firebug看请求: 返回的状态是:500 Internal Server Error 500错误一般情况是服务器内部错误,所以,登录查看apache错误日志。 错误显示的1246行其实是程序的结束标签了,怎么都不可能有错误,并且前后代码都很规范,不应该出现这种错误才对,网上看了很多这个错误的解决办法,都没解决。 最后怀疑是php配置有问题。 把正式服务器上的短标签开启,问题居然解决了。 打开php.ini,将 short_open_tag = Off 修改为 short_open_tag = On 然后重启下服务,居然可以访问了。 但是有很多虚拟主机用户没有修改php的权限怎么办呢,提供第二个方法: 找到帝国备份王安装文件upload文件夹下的class文件夹下面的function.php,大概是在921行: 把mysql_escape_string改为:mysql_real_escape_string OK!问题解决!!! 其实我知道,这个应该和开没开短标签没太大的关系,因为代码中也没见用短标签的写法,但既然开启短标签解决了问题,那做个记录,或许能帮助到其他人。
|