ホームページ > データベース > mysql チュートリアル > PDO ループ実行中の「MySQL Server Has Gone Away」エラーを修正する方法?

PDO ループ実行中の「MySQL Server Has Gone Away」エラーを修正する方法?

Linda Hamilton
リリース: 2024-11-20 18:53:15
オリジナル
867 人が閲覧しました

How to Fix

PDO ループ実行中の MySQL の「サーバーが消えた」問題のトラブルシューティング

PHP スクリプトの実行中に頻繁に発生する問題は、「MySQL PDO プリペアド ステートメントを使用してループを実行すると、サーバーが消えました」というエラーが発生します。このエラーは、大量のデータが処理され、サーバーの最大許容パケット サイズを超えたときに発生します。

根本原因:

このエラーの主な原因は、送信です。 「max_allowed_pa​​cket」構成で設定された事前定義された制限を超える MySQL サーバーへのパケット。これは通常、大きな BLOB (バイナリ ラージ オブジェクト) の挿入がサーバーの容量を超えようとしたときに発生します。

エラー メッセージ:

  • クライアント側: "MySQL サーバーは消えました"
  • サーバー側 (エラーログが有効な場合): "エラー 1153 「max_allowed_pa​​cket」バイトより大きいパケットを取得しました。

解決策:

この問題を解決するには、「my.ini」の「max_allowed_pa​​cket」設定を変更します。予想される最大の BLOB 挿入のサイズに対応できるように構成ファイルを増やす必要があります。例:

[mysqld]
...
max_allowed_packet = 200M
...
ログイン後にコピー

この調整により、MySQL サーバーは最大 200 MB のパケットを処理できるようになり、定義された制限内で BLOB 挿入が正常に実行されることが保証されます。

以上がPDO ループ実行中の「MySQL Server Has Gone Away」エラーを修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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