php環(huán)境無(wú)法上傳文件的解決方法
更新時(shí)間:2014年04月30日 13:24:23 作者:
對(duì)于dedecms 你沒(méi)有選擇上傳文件,discuz批量上傳顯示成功,但看不到圖片,ecshop商城等無(wú)法上傳問(wèn)題,只要是PHP的,而且代碼本身沒(méi)有問(wèn)題.以下都適用
一、 檢查網(wǎng)站目錄的權(quán)限。
上傳目錄是否有寫入權(quán)限。
二、 php.ini配置文件
php.ini中影響上傳的有以下幾處:
file_uploads 是否開(kāi)啟 on 必須開(kāi)啟
是否允許HTTP文件上傳
post_max_size = 8M
PHP接受的POST數(shù)據(jù)最大長(zhǎng)度。此設(shè)定也影響到文件上傳。
要上傳大文件,該值必須大于"upload_max_filesize"
如果配置腳本中激活了內(nèi)存限制,"memory_limit"也會(huì)影響文件上傳。
一般說(shuō)來(lái),"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ú)休止的占用服務(wù)器資源。
注: "max_execution_time"僅影響腳本本身的運(yùn)行時(shí)間。
任何其它花費(fèi)在腳本運(yùn)行之外的時(shí)間,如用system()/sleep()函數(shù)的使用、數(shù)據(jù)庫(kù)查詢、文件上傳等都不包括在內(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)榭捎?
三、upload_tmp_dir目錄權(quán)限
如果php配置沒(méi)問(wèn)題,那問(wèn)題有可能出在upload_tmp_dir設(shè)定的目錄權(quán)限問(wèn)題。加入IIS_WPG除完全控制外的權(quán)限,users的讀寫權(quán)限,NETWORK SERVER除完全控制外的權(quán)限。
四、如果起用了ZEND,看Temp文件夾中是否有ZendOptimizer.MemoryBase@SYSTEM和ZendOptimizer.MemoryBase@NETWORKSERVICE,如果沒(méi)有,就建立它。
五、如果以上都不行,那問(wèn)題很有可能出在這里了,檢查windows目錄是否禁用guests來(lái)賓組,要給windows目錄users組 讀取和執(zhí)行權(quán)限。
上傳目錄是否有寫入權(quán)限。
二、 php.ini配置文件
php.ini中影響上傳的有以下幾處:
file_uploads 是否開(kāi)啟 on 必須開(kāi)啟
是否允許HTTP文件上傳
post_max_size = 8M
PHP接受的POST數(shù)據(jù)最大長(zhǎng)度。此設(shè)定也影響到文件上傳。
要上傳大文件,該值必須大于"upload_max_filesize"
如果配置腳本中激活了內(nèi)存限制,"memory_limit"也會(huì)影響文件上傳。
一般說(shuō)來(lái),"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ú)休止的占用服務(wù)器資源。
注: "max_execution_time"僅影響腳本本身的運(yùn)行時(shí)間。
任何其它花費(fèi)在腳本運(yùn)行之外的時(shí)間,如用system()/sleep()函數(shù)的使用、數(shù)據(jù)庫(kù)查詢、文件上傳等都不包括在內(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)榭捎?
三、upload_tmp_dir目錄權(quán)限
如果php配置沒(méi)問(wèn)題,那問(wèn)題有可能出在upload_tmp_dir設(shè)定的目錄權(quán)限問(wèn)題。加入IIS_WPG除完全控制外的權(quán)限,users的讀寫權(quán)限,NETWORK SERVER除完全控制外的權(quán)限。
四、如果起用了ZEND,看Temp文件夾中是否有ZendOptimizer.MemoryBase@SYSTEM和ZendOptimizer.MemoryBase@NETWORKSERVICE,如果沒(méi)有,就建立它。
五、如果以上都不行,那問(wèn)題很有可能出在這里了,檢查windows目錄是否禁用guests來(lái)賓組,要給windows目錄users組 讀取和執(zhí)行權(quán)限。
您可能感興趣的文章:
相關(guān)文章
php目錄遍歷函數(shù)opendir用法實(shí)例
這篇文章主要介紹了php目錄遍歷函數(shù)opendir用法,以實(shí)例形式詳細(xì)分析了opendir原理與用法,是PHP進(jìn)行目錄操作的一個(gè)重要函數(shù),需要的朋友可以參考下2014-11-11百度工程師講PHP函數(shù)的實(shí)現(xiàn)原理及性能分析(三)
這篇文章主要介紹了百度工程師講PHP函數(shù)的實(shí)現(xiàn)原理及性能分析(三),本文講解了常用php函數(shù)實(shí)現(xiàn)及介紹,并作了總結(jié)及建議,需要的朋友可以參考下2015-05-05php打開(kāi)文件fopen函數(shù)的使用說(shuō)明
本篇文章是對(duì)php中的打開(kāi)文件fopen函數(shù)的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-07-07基于PHP實(shí)現(xiàn)郵箱驗(yàn)證激活過(guò)程詳解
這篇文章主要介紹了基于PHP實(shí)現(xiàn)郵箱驗(yàn)證激活過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10