《PHP為什么無法上傳?php文件上傳的配置詳解》要點(diǎn):
本文介紹了PHP為什么無法上傳?php文件上傳的配置詳解,希望對(duì)您有用。如果有疑問,可以聯(lián)系我們。
相關(guān)主題:PHP開發(fā)
PHP文件上傳,需要先要配置好PHP.ini選項(xiàng)
以下是上傳相關(guān)的選項(xiàng)配置:
上傳目錄是否有寫入權(quán)限。
A、對(duì)于WINDOW系統(tǒng),檢查windows目錄是否禁用IIS用戶組,要給windows目錄IIS用戶讀取和執(zhí)行權(quán)限。
B、對(duì)于LINUX系統(tǒng),檢查linux目錄的寫權(quán)限
php.ini中影響上傳的有以下幾處:
file_uploads 是否開啟 on 必須開啟
是否允許HTTP文件上傳
post_max_size = 8M
PHP接受的POST數(shù)據(jù)最大長(zhǎng)度。此設(shè)定也影響到文件上傳。
要上傳大文件,該值必須大于"upload_max_filesize"
如果配置腳本中激活了內(nèi)存限制,"memory_limit"也會(huì)影響文件上傳。 一般說來,"memory_limit"應(yīng)該比"post_max_size"要大。
upload_max_filesize = 2M
允許上傳的文件的最大尺寸
upload_tmp_dir = C:/windows/temp
文件上傳時(shí)存放文件的臨時(shí)目錄。必須是PHP進(jìn)程用戶可寫的目錄。如果未指定則PHP使用系統(tǒng)默認(rèn)值
default_socket_timeout = 60
socket超時(shí),單位是秒
max_execution_time = 30
每個(gè)腳本最大允許執(zhí)行時(shí)間, 按秒計(jì)。默認(rèn)為30秒。
這個(gè)參數(shù)有助于阻止劣質(zhì)腳本無休止的占用服務(wù)器資源。
注: "max_execution_time"僅影響腳本本身的運(yùn)行時(shí)間。
任何其它花費(fèi)在腳本運(yùn)行之外的時(shí)間,如用system()/sleep()函數(shù)的使用、數(shù)據(jù)庫查詢、文件上傳等都不包括在內(nèi)。
在安全模式下,你不能用ini_set()在運(yùn)行時(shí)改變這個(gè)設(shè)置
max_input_time = 60
每個(gè)腳本接收輸入數(shù)據(jù)的最大允許時(shí)間(POST, GET, upload), 按秒計(jì)
memory_limit = 128M
設(shè)定一個(gè)腳本所能夠申請(qǐng)到的最大內(nèi)存字節(jié)數(shù)。
這有助于防止劣質(zhì)腳本消耗完服務(wù)器上的所有內(nèi)存。
要使用此指令必須在編譯的時(shí)候激活。
因此 configure 一行中應(yīng)該包括:--enable-memory-limit
如果不需要任何內(nèi)存上的限制,必須將其設(shè)為 -1
自php4.3.2 起,當(dāng)設(shè)置了memory_limit后,memory_get_usage()函數(shù)將變?yōu)榭捎?nbsp;
如果php配置沒問題,那問題有可能出在upload_tmp_dir設(shè)定的目錄權(quán)限問題。加入IIS_WPG除完全控制外的權(quán)限,users的讀寫權(quán)限,NETWORK SERVER除完全控制外的權(quán)限。
4、如果起用了ZEND,
看Temp文件夾中是否有ZendOptimizer.MemoryBase@SYSTEM和ZendOptimizer.MemoryBase@NETWORKSERVICE,如果沒有,就建立它。
轉(zhuǎn)載請(qǐng)注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/36.html