解除 PHP 上傳大檔案限制,修改 php.ini 設定檔
放寬檔案上傳大小相關的設定:
; 上傳檔案大小上限(單一檔案大小)
upload_max_filesize = 50M
; POST 大小上限(所有檔案大小加總)
post_max_size = 200M
; 記憶體用量上限
memory_limit = 512M
這三個設定值可以依照自己的需求來調整,大原則就是「記憶體用量上限」一定要比「POST 大小上限」更大,而「POST 大小上限」則要比「上傳檔案大小上限」更大,也就是這樣:
記憶體用量上限 > POST 大小上限 > 上傳檔案大小上限
; PHP 指令稿執行時間上限(秒)
max_execution_time = 600
; PHP 指令稿解析輸入資料時間上限(秒)
max_input_time = 600
若擔心網路不穩造成傳大檔案時容易斷線的話,可以嘗試將 socket 等待逾時的設定調大一點:
; socket 等待逾時(秒)
default_socket_timeout = 600
; MySQL 資料庫連線逾時(秒,-1 代表永不斷線)
mysql.connect_timeout = -1
☀️更改完 php.ini 設定檔之後,重新啟動 Apache 伺服器,讓新的設定生效:
☀️sudo service httpd restart
PHP設定修改上傳檔案大小需要修改的包括以下幾項
max_execution_time
max_input_time
memory_limit
post_max_size
upload_max_filesize
default_socket_timeout
mysql.connect_timeout
可以利用 Ctrl + F 在php.ini裡一項一項尋找修改
才不會出錯