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

dsekswqp  于 2023-01-27  发布在  PHP
关注(0)|答案(3)|浏览(334)

我不能在我的网站表单中上传超过2 MB的图像。
我已经在/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信息时,我得到了不同的输出:/

为什么会发生这种情况?我该如何解决?
**注意:**如果有必要,我会使用nginx服务我的网站(请参阅nginx设置)

jaql4c8m

jaql4c8m1#

    • 最终修复的问题:**

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

upload_max_filesize = 20M
post_max_size = 20M

像这样:

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

fhity93d

fhity93d2#

两个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);
?>

比如说...

0tdrvxhp

0tdrvxhp3#

如果答案上限未修复,请尝试以下步骤:
1.创建user.ini文件到其他ini文件加载位置-参见phpInfo()查找位置路径。(搜索关键字-其他.ini文件)
1.插入需要修改的行。例如:最大上传大小= 20 M
1.保存并重新启动apache或相应的服务器。

相关问题