1

我正在使用 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”,我得到的是一个长字符串:“警告:mysql_fetch_array():提供的参数不是 /home/tom/mysite.com/lastMessageIndex.php 中的有效 MySQL 结果资源11号线"


好的,当我编辑这个时,我解决了我的问题。实际上这很愚蠢,在我的开发环境中,mySQL 数据库名称在 prod 上有一个大写字母。env 都是小写的。

抱歉造成不必要的混乱。

4

1 回答 1

0

The solution is simple. You don't see that error on your development server because you have not installed Mod_Security on it. Install it, take over the same configuration as from the remove-system and you should see that error on your development system, too.

于 2012-10-28T17:57:46.987 回答