如果要能上傳大檔。 php.ini 的設定就十分重要啦!
底下是阿杰老師的設定值。 如果少設一項就不能上傳大檔了哦! ( 設成 64 MB)
;;;;;;;;;;;;;;;;;
; Data Handling ;
;;;;;;;;;;;;;;;;;; Maximum size of POST data that PHP will accept.
post_max_size = 64M
post_max_size integer
設定以post方式上傳資料的最大檔案大小。此項的設定會影響到檔案的上傳,若要上傳較大的檔案,則這個值必需大於upload_max_filesize所設定的值。假如有開啟限制記憶體空間的選項時,memory_limit所設定的值也會影響到檔案的上傳,一般而言memory_limit所設定的值必需大於post_max_size所設定的值。
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;
max_execution_time = 600 ; Maximum execution time of each script, in seconds
max_input_time = 600 ; Maximum amount of time each script may spend parsing request data
memory_limit = 64M ; Maximum amount of memory a script may consume (8MB)
max_execution_time integer
設定程式在還沒有被剖析器終止之前,所能執行的最大時間為幾秒。這可以防止伺服器被程式所套牢,預設的值為30秒,這所設定的值並不受sleep()函式所影響。
但是如果設太長也不好,連線會一直卡在上面!
max_input_time
每個腳本的最大讀取資料時間, 按秒計.
設成 600 才不會有問題! (重要哦!) 之前沒有設就會卡住!
memory_limit integer
這能用來設定允許每個程式最多能夠分配到多少的記憶體總數(位元組),這可以防止程式佔掉伺服器所有可用的記憶體空間。
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;; Whether to allow HTTP file uploads.
file_uploads = On; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
;upload_tmp_dir =; Maximum allowed size for uploaded files.
upload_max_filesize = 64M
upload_max_filesize integer
(杰: 上傳檔案重要)
設定上傳的檔案其最大的檔案大小,單位為位元組。
在 PHP 的官網上說
memory_limit 最好大於 post_max_size
post_max_size 一定要大於 upload_max_filesize
不過似乎一樣也可以!
也有人提到 下面的問題, 不過這個部份阿杰老師沒有設定也可以呢?![]()
首先要先修改 httpd.conf 這個設定檔
打開 /etc/httpd/conf/httpd.conf, 加上下面的一段:
( /etc/httpd/conf.d/php.conf, 其中就有你所說的那一段)
| 代碼: |
| LoadModule php4_module modules/libphp4.so <Files *.php> SetOutputFilter PHP SetInputFilter PHP LimitRequestBody 20971520 </Files> |
這裡我說明一下,20971520 是 20M 的限制, 並不是一定要 20M
那要怎麼算呢?? 方法如下:
20 x 1024 x 1024 = 20971520
所以如果你想要換成 30M 或更大的限制的話,那就自己算囉~~~^^