ホームページ  >  記事  >  データベース  >  PHP MySQL 接続が 60 秒後にタイムアウトになるのはなぜですか?

PHP MySQL 接続が 60 秒後にタイムアウトになるのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-21 20:59:11275ブラウズ

Why Does My PHP MySQL Connection Timeout After 60 Seconds?

問題: 60 秒後の MySQL サーバー接続タイムアウト、エラー「MySQL サーバーが消えました - ちょうど 60 秒以内に」

説明されている問題これは、PHP オプション mysql.connect_timeout に関連するタイムアウトが原因です。このオプションは、接続タイムアウトだけでなく、MySQL サーバーから最初の応答を受信するまでの時間にも影響します。

根本原因:

mysql.connect_timeout オプション通常、デフォルトでは 60 秒に設定されます。 PHP スクリプトが MySQL サーバー上で実行に 60 秒以上かかるクエリを実行すると、PHP スクリプトはタイムアウトになり、「MySQL サーバーが消えました」エラーがスローされます。

解決策:

この問題を解決するには、mysql.connect_timeout オプションをクエリの予想実行時間よりも大きい値に増やします。これにより、PHP スクリプトはタイムアウトになる前にサーバーからの応答をより長く待機できるようになります。

PHP スクリプトで ini_set() 関数を使用して、mysql.connect_timeout オプションを変更できます。

ini_set('mysql.connect_timeout', 300); // Set to 300 seconds
ini_set('default_socket_timeout', 300); // Set the socket timeout to match the connect timeout

mysql.connect_timeout オプションを増やすことで、PHP スクリプトが MySQL サーバーから応答を受信するまでの待ち時間を効果的に延長できるため、 「MySQL サーバーが消えました」エラー。

以上がPHP MySQL 接続が 60 秒後にタイムアウトになるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。