設定に違反している可能性がありmax_allowed_packet
ます。詳細なデータについては、こちらを参照してください。
見積もり、
mysql クライアント プログラムを使用している場合、デフォルトの max_allowed_packet 変数は 16MB です。
圧縮されていない画像をアップロードする場合、この値はかなり簡単に到達できます。
また、使用する特定のデータベース インターフェイス クラス (PDO? mysql_? mysqli_?) に名前を付けることができれば、すばらしいことです。クラスによってエラーの処理方法が異なるからです。特大のパケットの状況をまったく処理できない可能性もあります.
PS: 発生した特定のエラーのログを実際に確認する必要があります。最初に探す場所は/var/log/mysql/error.log
(環境によって異なる場合があります)
更新:
mysql_error()
返されました"MySQL server has gone away"
エラーのマニュアルページから:「サーバーにクエリを送信した場合、これらのエラーが発生する可能性がありますが、これは正しくないか、大きすぎます。mysqld が大きすぎるか、順序が正しくないパケットを受信した場合、何かが発生したと見なされます。大きなクエリが必要な場合 (たとえば、大きな BLOB 列を操作している場合)、サーバーの max_allowed_packet 変数を設定することで、クエリの制限を増やすことができます。この変数のデフォルト値は 1MB です。また、クライアント側で最大パケット サイズを増やす必要がある場合もあります...」
(@Colin Morelli の厚意による引用)