ファイルをアップロードするための検証ルールで使用する場合
array('taskfile', 'file', 'allowEmpty' => true, 'maxSize' => 1024 * 1024 * 1)
maxSize < file size < max_pos の場合は正しいエラーが表示されますが、maxSize < max_post_size < file size の場合、エラー メッセージは表示されず、サイトの上部に php 警告が表示されます。
Warning: POST Content-Length of 41816263 bytes exceeds the limit of 15728640 bytes in Unknown on line 0
upload_max_filesize と post_max_size は php.ini で設定されます。独自の検証ルールでこの回避策も試しましたが、どちらも機能しません。
public function checkMaxFileSize($attribute) {
$max_post_size = 1024 * 1024 * ini_get('post_max_size');
$file_is_too_big = ($_SERVER['CONTENT_LENGTH'] > $max_post_size) ? true : false;
if ($file_is_too_big)
$this->addError($attribute, "too big");
このエラーは、yii がデバッグ モードでない場合にも表示されます。