微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么 PHP 不允许我上传超过 2MB 的文件?

如何解决为什么 PHP 不允许我上传超过 2MB 的文件?

我不能在我的网站表单中上传超过 2MB 的图片

我已经在 /etc/PHP/7.4/fpm/PHP.ini 中设置了所需的设置:

; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; http://PHP.net/post-max-size
post_max_size = 100M  

.
.

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;
; Whether to allow HTTP file uploads.
; http://PHP.net/file-uploads
file_uploads = ON
; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
; http://PHP.net/upload-tmp-dir
;upload_tmp_dir =
; Maximum allowed size for uploaded files.
; http://PHP.net/upload-max-filesize
upload_max_filesize = 100M
; Maximum number of files that can be uploaded via a single request
max_file_uploads = 20

.
.

; Maximum amount of memory a script may consume
; http://PHP.net/memory-limit
memory_limit = 128M 

但问题是,当我在索引页中打印 PHP 信息时,我得到不同的输出:/

enter image description here

enter image description here

enter image description here

为什么会发生这种情况,我该如何解决

注意:如果重要的话,我将使用 Nginx 为我的网站提供服务(请参阅 Nginx 设置)

enter image description here

解决方法

两个 PHP 配置选项控制最大上传大小:upload_max_filesizepost_max_size。如果您要显着增加这些值,请考虑同时增加 max_input_timemax_execution_time

如果您在 php.ini 中找不到 2mb 设置的来源,您可以在 .htaccess 文件中覆盖

php_value upload_max_filesize 10M
php_value post_max_size 10M
php_value max_input_time 300
php_value max_execution_time 300

如果需要,或者直接在您的 PHP 页面中

<?php 
 ini_set('upload_max_filesize','10M');
 ini_set('post_max_size','10M');
 ini_set('max_input_time',300);
 ini_set('max_execution_time',300);
?>

例如...

,

终于解决了问题:

解决方案是在项目的公共目录中添加 php.ini.user.ini 文件以设置所需的值(两个文件):

upload_max_filesize = 20M
post_max_size = 20M

像这样:

enter image description here

我没有找到更新 /etc/php/7.4/fpm/php.ini 的真正原因,但这两个文件最终修复了它

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?