知識庫

如需移除,請網站管理者移除.

143
主題:


發佈者:terry8899@gmail.com
文章編號:143 2018-08-28 21:51:44   來自:180.217.135.76   

回覆



1樓. 回覆 : 143 時間 : 2019-11-26 19:58:17

PHP上傳檔案的限制與修改

表單上傳檔案

Apache本身是有限制檔案上傳的
包括檔案大小、上傳時間是否會time out等等的
 

php.ini來作修改:

 
要修改的包括以下幾項
max_execution_time
max_input_time
memory_limit
post_max_size
upload_max_filesize
default_socket_timeout
mysql.connect_timeout


可以利用 Ctrl + F 在php.ini裡一項一項尋找

 

1. max_execution_time
Script執行時間上限(單位:秒)

把數字改成 max_execution_time = 300

PHP上傳檔案的限制與修改


2. max_input_time
Script處理資料時間上限(單位:秒)
把數字改成  max_input_time = 300

 
3. memory_limit
系統記憶體(注意,這個的值一定要設比下面兩項的值都大)
把數字改成 memory_limit = 800M

 

4. post_max_size
使用表單的file欄位時是用POST傳值
這個可設定POST發送時的容量
把數字改成 post_max_size = 200M

 

5. upload_max_filesize
單次上傳檔案容量

把數字改成 upload_max_filesize = 200M

PHP上傳檔案的限制與修改

 

6. default_socket_timeout
Socket無回應斷線時間(單位:秒)
把數字改成 default_socket_timeout = 300

PHP上傳檔案的限制與修改

 

7. mysql.connect_timeout
無回應斷線時間(單位:秒;-1代表不斷線一直等)
把數字改成 mysql.connect_timeout = -1

PHP上傳檔案的限制與修改
 



2樓. 回覆 : 143 時間 : 2019-10-24 09:57:57

編輯 PHP 的 php.ini 設定檔,放寬檔案上傳大小相關的設定:
; 上傳檔案大小上限(單一檔案大小)
upload_max_filesize = 50M

; POST 大小上限(所有檔案大小加總)
post_max_size = 200M

; 記憶體用量上限
memory_limit = 512M
這三個設定值可以依照自己的需求來調整,大原則就是「記憶體用量上限」一定要比「POST 大小上限」更大,而「POST 大小上限」則要比「上傳檔案大小上限」更大,也就是這樣:

記憶體用量上限 > POST 大小上限 > 上傳檔案大小上限
上傳大型檔案通常都會需要比較久的時間,而 PHP 預設的設定不允許 PHP 指令稿執行太久,如果這部分沒有調整的話,可能會造成檔案上傳到一半,程式就被系統終止了,這樣也是傳不上去,所以要再調整 PHP 指令稿執行時間的設定值,讓 PHP 指令稿可以執行比較久一點,讓檔案可以傳的完。

; PHP 指令稿執行時間上限(秒)
max_execution_time = 600

; PHP 指令稿解析輸入資料時間上限(秒)
max_input_time = 600
若擔心網路不穩造成傳大檔案時容易斷線的話,可以嘗試將 socket 等待逾時的設定調大一點:

; socket 等待逾時(秒)
default_socket_timeout = 600
若有使用 MySQL 資料庫的連線,可以修改一下 MySQL 連線逾時的設定,避免上傳檔案等待太久,造成資料庫連線中斷:

; MySQL 資料庫連線逾時(秒,-1 代表永不斷線)
mysql.connect_timeout = -1
更改完 php.ini 設定檔之後,重新啟動 Apache 伺服器,讓新的設定生效:

sudo service httpd restart



3樓. 回覆 : 143 時間 : 2019-10-24 09:52:52

htaccess 設定開啟 register_globals 等PHP設定

發佈人 Chris Chen 發表於 04 September 2007 09:18 AM

若您有要設定 php 的相關設定,請使用下列方式變更:

請在您的 public_html 新增一文字檔 .htaccess 
(請注意完整檔名就是 ".htaccess",若該檔案已經存在請直接編輯,附加內容在檔案內)

裡面放上要設定的內容(以開啟 register_globals 為例):

php_flag register_globals On


其他可使用 .htaccess 修改的 PHP 設定範例:

#設定 session timeout 時間
php_value session.gc_maxlifetime 3600

php_flag magic_quotes_gpc off

php_value session.auto_start 1 


例如想設定可讓主機上傳大檔案者,可於 .htaccess 加入:

php_value max_execution_time 300
php_value upload_max_filesize 20M
php_value max_input_time 300
php_value post_max_size 30M

 

資料來源 : 

https://twnoc.net/support/Knowledgebase/Article/View/40/3/htaccess--register_globals-php


所有程式與圖片和影片版權皆歸原作者,出版商,製造商所有,若有侵權請來信告知,謝謝。

Copyright 2013 台豐實業
如有任何問題或合作提案歡迎私訊或來信 E-Mail 與我們聯絡 service@grapes.tw  / 台豐實業  
本網站僅支援桌上型PC版本,並不適用於手機,平板電腦