問題: 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 サイトの他の関連記事を参照してください。