在这种情况下,我最近没有做任何改变,但最近我的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/