PDO ループ実行中の MySQL の「サーバーが消えた」問題のトラブルシューティング
PHP スクリプトの実行中に頻繁に発生する問題は、「MySQL PDO プリペアド ステートメントを使用してループを実行すると、サーバーが消えました」というエラーが発生します。このエラーは、大量のデータが処理され、サーバーの最大許容パケット サイズを超えたときに発生します。
根本原因:
このエラーの主な原因は、送信です。 「max_allowed_packet」構成で設定された事前定義された制限を超える MySQL サーバーへのパケット。これは通常、大きな BLOB (バイナリ ラージ オブジェクト) の挿入がサーバーの容量を超えようとしたときに発生します。
エラー メッセージ:
解決策:
この問題を解決するには、「my.ini」の「max_allowed_packet」設定を変更します。予想される最大の BLOB 挿入のサイズに対応できるように構成ファイルを増やす必要があります。例:
[mysqld] ... max_allowed_packet = 200M ...
この調整により、MySQL サーバーは最大 200 MB のパケットを処理できるようになり、定義された制限内で BLOB 挿入が正常に実行されることが保証されます。
以上がPDO ループ実行中の「MySQL Server Has Gone Away」エラーを修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。