在基于Codeigniter的代码中,我采取了以下措施:
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>";
}
仍然是关于上传大于2MB大小的文件的消息:
上传的文件超过了您的配置文件中允许的最大大小。
还有什么解决办法?
发布于 2019-10-08 23:03:47
您需要在您的upload_max_filesize
中设置php.ini和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-09 04:20:11
最后,我打开WHM来编辑php设置。在那里进行修改纠正了这个问题。
https://stackoverflow.com/questions/58298113
复制