我正在使用jquery发送ajax请求,如下所示:
$.ajax({
url: "lastMessageIndex.php",
type: "POST",
data: {room: $("#room").val()}
}).done(function(data){
lastMessageIndex = data;
});
我已经在我的开发环境中对此进行了测试并且它可以工作,我从服务器获得了预期的响应,并且脚本继续运行并且webapp一般都可以工作。但是当我将它上传到我的远程服务器时,它没有,并且在apache2 error.log文件中我看到了错误:
[Sun Oct 28 10:42:46 2012] [error] [client 44.46.23.50] ModSecurity: Error reading request body: Connection reset by peer [hostname "www.mysite.com"] [uri "/ie/IEGetMessages.php"] [unique_id "UI1ujNBx6w4AACW5MkkAAAAF"]
这可能不是问题的实际原因。我不介意在日志上有错误,如果我将从我想到的ajax得到响应。它应该是一个数字,例如'4'和我得到的是一个长字符串:“warning:mysql_fetch_array():提供的参数不是第11行/home/tom/mysite.com/lastMessageIndex.php中有效的MySQL结果资源”
好的,在我编辑时,我解决了我的问题。实际上它是愚蠢的,在我的开发环境中,mySQL数据库名称在prod上有一个大写字母。 env它是小写的。
抱歉不必要的混乱。答案 0 :(得分:0)
解决方案很简单。您没有在开发服务器上看到该错误,因为您尚未安装Mod_Security。安装它,接管与remove-system相同的配置,你也应该在开发系统上看到错误。