在这种情况下,我最近没有做任何改变,但最近我的mysqli_connect()到远程服务器的速度非常慢(大约是它达到30秒最大执行时间的一半)。当它工作时,响应时间在28到30秒之间。
我已经在两台服务器上重新启动了MySQL。保存PHP脚本的服务器是本地WAMP服务器,远程服务器是LAMP堆栈。LAMP服务器执行与WAMP服务器请求的信息相同的精细服务。查询似乎不是问题所在,而mysqli_connect()似乎是问题所在:

    $mtime = microtime();
    $mtime = explode(" ",$mtime);
    $starttime = $mtime[1] + $mtime[0];
        $this->conn = mysqli_connect($this->host,$this->user,$this->password) or die(mysqli_error($this->conn));
        $etime = microtime();
    $etime = explode(" ",$etime);
    $endtime = $etime[1] + $etime[0];
    $totaltime = ($endtime - $starttime);
    echo('<!--mysqli_connect took: '.$totaltime.' seconds-->');

页面(当它没有给出500个响应以达到最大执行时间时)将显示:
<!--mysqli_connect took: 28.975151777267 seconds-->

远程灯服务器上的相同代码将显示:
<!--mysqli_connect took: 0.036190032958984 seconds-->

我没有更新此代码,也没有做任何配置更改,因为这是工作。除了WAMP服务器上超过30秒时的“最大执行时间超出”错误外,这两个服务器上都没有任何错误。有人有什么建议吗?
谢谢你的阅读。

最佳答案

可能是DNS问题?
您是否尝试过将主机字符串改为直接的IP地址而不是域?这里有一个类似的问题,Connecting to mysql server(localhost) very slow,听起来类似,但是它是本地主机,更改为127.0.0.1解决了这个问题。

关于php - mysqli_connect()突然变得非常慢,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21120653/

10-10 06:54