Размер файла загрузки файла CI превышает даже после нескольких мер - PullRequest
0 голосов
/ 09 октября 2019

В своем коде на основе Codeigniter я принял следующие меры:

MultiPHP INI Editor в Cpanel

asp_tags = Off
display_errors = Off
max_execution_time = 300
max_input_time = 600
max_input_vars = 1000
memory_limit = 512M
post_max_size = 128M
session.gc_maxlifetime = 1440
session.save_path = "/var/cpanel/php/sessions/ea-php56"
upload_max_filesize = 128M
zlib.output_compression = Off

.htaccess в домашнем каталоге

<IfModule php5_module>
   php_flag asp_tags Off
   php_flag display_errors Off
   php_value max_execution_time 20000
   php_value max_input_time 20000
   php_value max_input_vars 1000
   php_value memory_limit 2G
   php_value post_max_size 2G
   php_value session.gc_maxlifetime 20000
   php_value session.save_path "/var/cpanel/php/sessions/ea-php56"
   php_value upload_max_filesize 2G
   php_flag zlib.output_compression Off
</IfModule>
<IfModule lsapi_module>
   php_flag asp_tags Off
   php_flag display_errors Off
   php_value max_execution_time 20000
   php_value max_input_time 20000
   php_value max_input_vars 1000
   php_value memory_limit 2G
   php_value post_max_size 2G
   php_value session.gc_maxlifetime 20000
   php_value session.save_path "/var/cpanel/php/sessions/ea-php56"
   php_value upload_max_filesize 2G
   php_flag zlib.output_compression Off
</IfModule>

Первые строки в контроллере и модели:

ini_set('post_max_size', '64M');
ini_set('upload_max_filesize', '64M');
ini_set("pcre.backtrack_limit", "100000000");
ini_set("max_allowed_packet ", "2G");
ini_set("max_execution_time ", "20000");
ini_set('max_input_time','20000');
ini_set('memory_limit', '2G');
set_time_limit(0);

$ config до загрузки файла

$config=array(
    'upload_path'=>$_SERVER['DOCUMENT_ROOT']."/assets/uploads/rpt/",
    'allowed_types'=>"rpt",
    'overwrite'  => TRUE,
    'max_size' => '100000000',
    'file_name' =>$filename
);
$this->load->library('upload', $config);
$this->upload->initialize($config);
if($this->upload->do_upload('rpt1'))
{
    // do something
}
else
{
    return "<div class='alert alert-danger'>".$this->upload->display_errors()."</div>";
}

Тем не менее я получаю следующее сообщение о загрузке файла размером более 2 МБ:

Загруженный файл превышает максимально допустимый размер в вашем файле конфигурации PHP.

Какое еще решение?

Ответы [ 2 ]

0 голосов
/ 09 октября 2019

Наконец я открыл WHM для редактирования настроек php INI. внесение изменений исправило проблему.

0 голосов
/ 09 октября 2019

Вам необходимо установить значения upload_max_filesize и post_max_size в вашем php.ini:

; Maximum allowed size for uploaded files.
upload_max_filesize = 50M

; Must be greater than or equal to upload_max_filesize
post_max_size = 50M

После изменения файлов php.ini вам необходимо перезапустить ваш HTTP-сервер, чтобыиспользуйте новую конфигурацию.

Если вы не можете изменить php.ini, вам не повезло. Вы не можете изменить эти значения во время выполнения;загрузка файла, размер которого превышает значение, указанное в php.ini, завершится неудачно, когда время выполнения достигнет вашего вызова ini_set.

ИЛИ

Даже вы можете установить в .htaccess файлпроект

php_value upload_max_filesize 50M
php_value post_max_size 50M
...