php環境無法上傳檔案的解決方法

2022-06-12 01:36:06 字數 1594 閱讀 5740

總述(五點):上傳目錄是否有寫入許可權;php.ini file_upload=on等其他配置;upload_tmp_dir目錄user讀寫許可權,network server出完全控制的其他許可權;temp資料夾配置;win是否禁用guests組,要給users組讀取和執行許可權。

上傳目錄是否有寫入許可權

php.ini中影響上傳的有以下幾處:

file_uploads是否開啟 on 必須開啟

post_max_size= 8m

php接受的post資料最大長度。此設定也影響到檔案上傳。

要上傳大檔案,該值必須大於"upload_max_filesize"

如果配置指令碼中啟用了記憶體限制,"memory_limit"也會影響檔案上傳。

一般說來,"memory_limit"應該比"post_max_size"要大。

upload_max_filesize = 2m

允許上傳的檔案的最大尺寸

upload_tmp_dir =c:\\windows\temp

檔案上傳時存放檔案的臨時目錄,必須是php程序使用者可寫的目錄,如果未指定則php使用系統預設值。

default_socket_timeout = 60

socket超時,單位是秒

max_execution_time = 30

每個指令碼最大允許執行時間, 按秒計。預設為30秒。

這個引數有助於阻止劣質指令碼無休止的占用伺服器資源。

注: "max_execution_time"僅影響指令碼本身的執行時間。

任何其它花費在指令碼執行之外的時間,如用system()/sleep()函式的使用、資料庫查詢、檔案上傳等都不包括在內。

在安全模式下,你不能用ini_set()在執行時改變這個設定

max_input_time=60

每個指令碼接受輸入資料的最大允許時間(post get upload),按秒計

memory_limit = 128m

設定指令碼最大能申請到的記憶體空間大小,防止劣質指令碼消耗完伺服器的記憶體資源

要使用此指令必須在編譯的時候啟用。

因此 configure 一行中應該包括:--enable-memory-limit

如果不需要任何記憶體上的限制,必須將其設為 -1

自php4.3.2 起,當設定了memory_limit後,memory_get_usage()函式將變為可用

如果php配置沒問題,那問題有可能出在upload_tmp_dir設定的目錄許可權問題。加入iis_wpg除完全控制外的許可權,users的讀寫許可權,network server除完全控制外的許可權。

zendoptimizer.memorybase@system和zendoptimizer.memorybase@networkservice,如果沒有,就建立它。

如果以上都不行,那問題很有可能出在這裡了,檢查windows目錄是否禁用guests來賓組要給windows目錄users組 讀取和執行許可權。

php環境無法上傳的解決辦法

對於dedecms 你沒有選擇上傳檔案 discuz批量上傳顯示成功,但看不到,ecshop 等無法上傳問題,只要是php的,而且 本身沒有問題.以下都適用 一 檢查 目錄的許可權。二 php.ini配置檔案 php.ini中影響上傳的有以下幾處 file uploads 是否開啟 on 必須開啟 ...

php無法上傳大檔案的解決方法

在實際執行過程中發現上傳稍微大一些的檔案時,顯示file couldn t be moved。資料庫裡顯示檔名稱,不顯示大小。而上傳大於8m的檔案時,頁面根本沒有反應。網上找到幾篇文章 url 解決php上傳大檔案的問題 url url 設定允許大檔案上傳的方法 url url 上傳大檔案 url ...

php上傳檔案設定,php上傳大檔案設定方法

開啟php.ini,首先找到 file uploads 區域,有影響檔案上傳的以下幾個引數 file uploads on 是否允許通過http上傳檔案的開關。預設為on即是開 upload tmp dir 檔案上傳至伺服器上儲存臨時檔案的地方,如果沒指定就會用系統預設的臨時資料夾 upload m...