ホームページ > データベース > mysql チュートリアル > PDO を使用する PHP スクリプトが、数回実行に成功した後も「MySQL サーバーが消えました」というエラーが発生し続けるのはなぜですか?

PDO を使用する PHP スクリプトが、数回実行に成功した後も「MySQL サーバーが消えました」というエラーが発生し続けるのはなぜですか?

Patricia Arquette
リリース: 2024-11-21 08:23:12
オリジナル
413 人が閲覧しました

Why does my PHP script using PDO keep getting a

PDO を使用した PHP スクリプトで「MySQL Server Has Gone Away」エラーが発生しました

夜間タスクを実行するスクリプトで、PDO がステートメントを準備した問題が発生しています数回実行が成功した後、「MySQL サーバーが消えました」というエラーで失敗します。この問題の根本原因は、多くの場合、MySQL に設定されている最大許容パケット サイズを超えていることにあります。

解決策: サーバー構成を調整する

エラーを解決するには、次のことが必要です。 MySQL 構成ファイル (my.ini) の max_allowed_pa​​cket 設定を調整します。この設定では、サーバーが処理できるパケットの最大サイズを指定します。特定のシナリオでは、許可されているサイズより大きい BLOB を挿入しようとすると問題が発生する可能性があります。

エラー メッセージとロガー出力

この問題が発生すると、クライアント側で「MySQL サーバーが消えました」というエラー メッセージが表示されます。さらに、エラー ログが有効になっている場合、サーバー ログに次のエラーが含まれる場合があります:

Error 1153 Got a packet bigger than 'max_allowed_packet' bytes
ログイン後にコピー

構成調整

この問題を解決するには、最大のサイズを確認してください。 BLOB が挿入され、それに応じて my.ini に max_allowed_pa​​cket が設定されます。たとえば、最大の BLOB サイズが 200MB と推定される場合、構成は次のように調整できます:

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

以上がPDO を使用する PHP スクリプトが、数回実行に成功した後も「MySQL サーバーが消えました」というエラーが発生し続けるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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