最近、この状況で何も変更していませんが、最近、リモートサーバーへの 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-->');
ページ (max_execution_time をヒットしても 500 応答が返されない場合) は次のように表示されます。
<!--mysqli_connect took: 28.975151777267 seconds-->
リモート LAMP サーバーで同じコードを実行すると、次のように表示されます。
<!--mysqli_connect took: 0.036190032958984 seconds-->
これが機能していたので、このコードを更新したり、構成を変更したりしていません。WAMP サーバーで 30 秒を超えたときに max_execution_time を超えたエラーを除いて、どちらのサーバーでもエラーは発生しません。誰か提案はありますか?
読んでくれてありがとう。