私のCakePHPサイトの1つで、このエラーが発生しました。
エンティティが大きすぎるリクエスト
何が問題なのかわかりません。フォームで投稿しているデータが多すぎると思います。これを検索エンジンで検索したところ、post_max_size
を増やす必要があることがわかりました。デフォルトでは8Mに設定されていると思います。
しかし、CakePHPでpost_max_size
を増やす方法と、それをどうするかわかりませんか?
ありがとう。
post_max_size
および upload_max_filesize
はPHP.iniの設定です。 PHP.iniで直接、または ini_set
。これがいくつかのCake内部のツールでも設定できるかどうかはわかりません。
ただし、エラーは ApacheでのRequestBodyLengthの制限の設定 (Apacheで実行している場合)が原因である可能性もあります。
私はこれらすべての答えを試しましたが、私のために働いた唯一のことは、SSLバッファーサイズを調整することでした。あなたはこれを設定することができます...
<Directory /my/blah/blah>
...
# Set this to something big big...
SSLRenegBufferSize 10486000
...
</Directory>
...そして、Apacheを再起動して有効にします。 (これは http://forum.joomla.org/viewtopic.php?p=2085574 で見つかりました)
「413 request entity too large」エラーのもう1つの考えられる原因は、mod-securityです。それが原因でした。
サイトのApacheエラーログを調べたところ、
ModSecurity:リクエストボディのファイルのデータ長が構成された制限(131072)を超えています。コードで拒否(413)
私のUbuntu 14.04では設定ファイルがここにありますが、これは本当にシステムに依存します:
/etc/modsecurity/modsecurity.conf
SecRequestBodyNoFilesLimitにはデフォルト値があります(そしてSecRequestBodyInMemoryLimitも可能です)。
間違いなくCakePHPの問題ではありませんが、ファイルを適切にアップロードするために設定する必要がある2つの設定を次に示します。
vim /etc/php5/php.ini (or wherever the .ini is located)
そして設定:
post_max_size="200M"
upload_max_filesize="200M"
HTTPSを使用している場合の注意が必要な部分です。また、1つのSSLを構成する必要があります。
vim /etc/Apache2/sites-available/<whatever>-443.conf
そしてSSLRenegBufferSizeを設定します
<Directory /appdata/www/<whatever>/web>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
SSLRenegBufferSize 201048600
</Directory>
PHP設定ファイル、php.iniで設定する必要があると思います。VPS/ルートレベルのアクセス権がある場合は、そのサイズを増やしてください。そうでない場合(共有ホスティング)、実行時にphp iniパラメータを変更できます。PHP設定のロードが遅すぎるため(ファイルのアップロード後、 PHPスクリプトが実行を開始します)。
Htaccessファイル(共有ホスティング上)に以下を含める必要があります。
php_value post_max_size 104857600
これが機能しない可能性があります。一部のグーグルは、一部の共有ホストがこの設定をロックダウンするように見せかけ、htaccessで(メインサーバーの設定のみで)上書きできないようにしました。その場合は、ホストを移動する必要があります。
共有ホスティングでは、独自のphp.iniファイルを追加できる場合があります。デフォルトのファイル(またはgoogleのいずれか)から関連するビットをコピーするだけです。
これは私が以前に見たエラーではありません-ゴードンが言うように、それはApacheかもしれません。
ホスティングサポートチームに質問することを恐れないでください。私は常に彼らが非常に役立つと思っていました(私は彼らが孤独になる必要があると思います)。
確かにCakePHPの問題ではありません。