質問: jdatabasedriver-> replaceprefix()...バイトの許容メモリサイズを使い果たしました issue trackerアイテム#33711で報告 3mbを超えるblobをデータベースに挿入しようとすると、次のエラーが発生します。 致命的なエラー:1638行目の...\libraries\joomla\database\driver.phpで許可されたメモリサイズ134217728バイトを使い果たしました(4252768バイトを割り当てようとしました) jdatabasedriver->replaceprefix( )がそんなに多くのメモリを消費するのはなぜですか?
回答: replaceprefix()には基本的に問題はありません。で説明されているように、事前定義された設定(_max_allowed_packet_)には大きすぎる文字列をmysqlに送信し、エラー_mysql server has gone away_を報告しています。 mysqlサーバーは大きなダンプのインポートを妨害しなくなりました。 現在、joomlaはこれを一時的なエラーであると見なし、クエリを再試行して、メモリがなくなるまでexecute()メソッドを繰り返し実行します。この問題の解決策は、_max_allowed_packet_の_[mysqld]_の下の_my.ini_の値をより大きな値に増やすことです。