修改php文件上傳的大小限制upload_max_filesize


問題:

我們上傳文件文件時會發生 Call to a member function move() on null的錯誤。

我們在php控制器代碼中輸入如下代碼:dump($error = $_FILES);exit;查看錯誤。如果在這里int里面出現了錯誤代碼“1”,就很明顯了,接下來分享下所有的錯誤代碼:

0:表示沒有發生任何錯誤,文件上傳成功 
1:表示上傳文件的大小超出了再PHP配置文件中upload_max_filesize選項限制的值 
2:表示上傳文件大小超出了HTML表單中MAX_FILE_SIZE選項所指定的值 
3:表示文件只被部分上傳 

4:表示沒有上傳任何文件 

若出現1:的狀況:

php.ini 配置對php上傳文件大小的影響參數有: 
配置項 可能值 功能描述 
file_uploads ON 確定服務器上的PHP腳本是否可以接受HTTP文件上傳 
memory_limit 8M 設置腳本可以分配的最大內存量,防止失控的腳本獨占服務器內存 
upload_max_filesize 改為8M 限制PHP處理上傳文件的最大值,此值必須小於post_max_size值 

post_max_size 改為16M 限制通過POST方法可以接受的信息最大量

php.ini配置信息可以在前台輸入<?php echo phpinfo();?>進行查看php.ini目錄信息。

但如果要上傳>8M的大體積文件,只設置上述四項還一定能行的通。進一步配置以下的參數 

 

max_execution_time = 600 ;每個PHP頁面運行的最大時間值(秒),默認30秒 
max_input_time = 600 ;每個PHP頁面接收數據所需的最大時間,默認60秒 
memory_limit = 8m ;每個PHP頁面所吃掉的最大內存,默認8M 
把上述參數修改后,在網絡所允許的正常情況下,就可以上傳大體積文件了

max_execution_time = 600
max_input_time = 600
memory_limit = 32m
file_uploads = on
upload_tmp_dir = /tmp
upload_max_filesize = 32m
post_max_size = 32m

 

解決方法:

配置php.ini文件 (以上傳500M以下大小的文件為例)查找以下選項並修改:
file_uploads = On ;打開文件上傳選項 
upload_max_filesize = 500M ;上傳文件上限

如果要上傳比較大的文件,僅僅以上兩條還不夠,必須把服務器緩存上限調大,把腳本最大執行時間變長 :
post_max_size = 500M ;post上限 
max_execution_time = 1800 ; Maximum execution time of each script, in seconds腳本最大執行時間 
max_input_time = 1800 ; Maximum amount of time each script may spend parsing request data 
memory_limit = 128M ; Maximum amount of memory a script may consume (128MB)內存上限

總結:文件不大,一般情況直接修改了php.ini文件的upload_max_filesize = 10M(默認是2M),就可以了

 

 

 

原文鏈接:https://blog.csdn.net/qq_38588845/article/details/80770264


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM