ホームページ > バックエンド開発 > PHPチュートリアル > mysql.connect_timeout PHP オプションが 60 秒後の MySQL サーバー接続タイムアウトの原因となっていますか?

mysql.connect_timeout PHP オプションが 60 秒後の MySQL サーバー接続タイムアウトの原因となっていますか?

Barbara Streisand
リリース: 2024-10-18 22:10:30
オリジナル
445 人が閲覧しました

Is the mysql.connect_timeout PHP Option Causing MySQL Server Connection Timeouts After 60 Seconds?

MySQL サーバーの切断の問題: タイムアウトから 60 秒後に切断されました

問題:

を発見しました以前は正常に実行されていた SQL クエリが 60 秒後にタイムアウトし、エラーがスローされるようになりました。クエリが遅い場合でも、夜間ジョブの一部として実行されるため、それ自体は問題ではありません (したがって、クエリを最適化することは提案しないでください)。

以下に示すように、PHP から「select SLEEP(120);」を実行すると、エラーを一貫して再現できます。ただし、MySQL クライアントから同じステートメントを実行すると成功します (0 を返します)。 wait_timeout (28800 に設定) を調整しようとしましたが、成功しませんでした。データベースサーバーとコンピューター自体も再起動しました。

常に 60 秒ちょうどのタイムアウトが発生するため、リソースの制約の問題ではなくセットアップの問題である可能性があると考えられます。

私は実行しています:

  • Windows Server 2003
  • MySQL 5.1.36-community
  • PHP 5.3

以下は私のテストコード、出力、SHOW VARIABLES の結果です。

... 代码、输出和 SHOW VARIABLES 如下所示 ...
ログイン後にコピー

答え:

php オプション mysql.connect_timeout がこの問題の原因です。これは、接続タイムアウトだけでなく、サーバーからの最初の応答を待つためにも使用されます。次のように増やすことができます:

ini_set('mysql.connect_timeout', 300);
ini_set('default_socket_timeout', 300); 
ログイン後にコピー

以上がmysql.connect_timeout PHP オプションが 60 秒後の MySQL サーバー接続タイムアウトの原因となっていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート