PHP(5.5.7)警告连接到Windows Server 2008 R2中的MySQLi

PHP(5.5.7)警告连接到Windows Server 2008 R2中的MySQLi,php,mysql,windows,mysqli,Php,Mysql,Windows,Mysqli,我在WindowsServer2008R2上用MySQL5.5.36在PHP5.5.7 64位nts上运行Moodle 直到两天前,还没有出现任何问题。为了解决Xdebugger这样的内存占用问题,为虚拟机分配了一个额外的CPU和更多的内存。Windows许可证也已激活。整个虚拟机已重新启动。(在此之前,我已经重新启动了机器,没有任何问题) 当我访问网站上的任何页面时,我现在收到以下警告: PHP Warning: mysqli::mysqli(): (HY000/2002): A c

我在WindowsServer2008R2上用MySQL5.5.36在PHP5.5.7 64位nts上运行Moodle

直到两天前,还没有出现任何问题。为了解决Xdebugger这样的内存占用问题,为虚拟机分配了一个额外的CPU和更多的内存。Windows许可证也已激活。整个虚拟机已重新启动。(在此之前,我已经重新启动了机器,没有任何问题)

当我访问网站上的任何页面时,我现在收到以下警告:

    PHP Warning:  mysqli::mysqli(): (HY000/2002): A connection attempt failed because the  connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
    in C:\inetpub\wwwroot\moodle\lib\dml\mysqli_native_moodle_database.php on line 375
我创建了一个测试php页面,该页面仅包含以下内容:

    $mysqli = new mysqli("127.0.0.1", "moodleuser", 'xxxx', "moodle", 3306);
    if ($result = $mysqli->query("SELECT * from mdl_user limit 10")) {
        echo "Select returned $result->num_rows";
    } else {
        echo "Error";
    }
    $mysqli->close();
我收到以下输出:

    PHP Warning:  mysqli::mysqli(): (HY000/2002): A connection attempt failed because          the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.in C:\inetpub\wwwroot\moodle\info.php on line 17
    PHP Warning:  mysqli::query(): Couldn't fetch mysqli in C:\inetpub\wwwroot\moodle\info.php on line 18
    PHP Warning:  mysqli::close(): Couldn't fetch mysqli in C:\inetpub\wwwroot\moodle\info.php on line 24
我已经检查了我的主机文件中是否存在“127.0.0.1 localhost”,并且IPv6::1行已被注释掉。 我也尝试过使用“localhost”,但同样的问题

奇怪的是,如果我偶尔完全随机地刷新页面,警告就不会出现,并给出正确的输出

我试图禁用警告,但php似乎忽略了我。此外,禁用警告也不太理想

有什么想法吗

编辑:


因此,在经历了PHP、MySQL和IIS之间的艰难跋涉之后,似乎(再次)是PHP.ini造成的

老实说,我甚至不能告诉你是哪个设置出了问题,但我将php.ini中所有可能的超时相关设置都更改为一个大数字(10000或-1,具体取决于设置),以及my.ini中mysql的连接超时


我还没有弄清楚是哪一个导致了这个问题,但是如果我真的这样做的话,我会编辑这篇文章

因此,在经历了PHP、MySQL和IIS之间的艰难跋涉之后,似乎(再次)是PHP.ini造成的

老实说,我甚至不能告诉你是哪个设置出了问题,但我将php.ini中所有可能的超时相关设置都更改为一个大数字(10000或-1,具体取决于设置),以及my.ini中mysql的连接超时

我还没有弄清楚是哪一个导致了这个问题,但是如果我真的这样做的话,我会编辑这篇文章