0

在我的基于 Codeigniter 的代码中,我采取了以下措施:

Cpanel 中的 MultiPHP INI 编辑器

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 MB 大小的文件时,我仍然收到以下消息:

上传的文件超出了 PHP 配置文件中允许的最大大小。

还有什么解决办法?

4

2 回答 2

0

最后我打开 WHM 来编辑 php INI 设置。在那里进行更改更正了该问题。

于 2019-10-09T12:20:11.273 回答
0

您需要在 php.ini中设置upload_max_filesizeand的值:post_max_size

; 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
于 2019-10-09T07:03:47.667 回答