十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
這篇文章將為大家詳細(xì)講解有關(guān)php修改上傳文件大小限制的方法,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
1. 一般的文件上傳,除非文件很小.就像一個(gè)5M的文件,很可能要超過一分鐘才能上傳完.
但在php中,默認(rèn)的該頁最久執(zhí)行時(shí)間為 30 秒.就是說超過30秒,該腳本就停止執(zhí)行.
這就導(dǎo)致出現(xiàn) 無法打開網(wǎng)頁的情況.這時(shí)我們可以修改 max_execution_time
在php.ini里查找
max_execution_time
默認(rèn)是30秒.改為
max_execution_time = 0
0表示沒有限制
2. 修改 post_max_size 設(shè)定 POST 數(shù)據(jù)所允許的大大小。此設(shè)定也影響到文件上傳。
php默認(rèn)的post_max_size 為2M.如果 POST 數(shù)據(jù)尺寸大于 post_max_size $_POST 和 $_FILES superglobals 便會(huì)為空.
查找 post_max_size .改為
post_max_size = 150M
3. 很多人都會(huì)改了第二步.但上傳文件時(shí)大仍然為 8M.
為什么呢.我們還要改一個(gè)參數(shù)upload_max_filesize 表示所上傳的文件的大大小。
查找upload_max_filesize,默認(rèn)為8M改為
upload_max_filesize = 100M
另外要說明的是,post_max_size 大于 upload_max_filesize 為佳.
4.上傳報(bào)413錯(cuò)誤,
產(chǎn)生該錯(cuò)誤的原因,客戶端發(fā)送的實(shí)體主體部分比服務(wù)器能夠或者希望處理的要大。 一般情況下我們看不到這個(gè)狀態(tài)碼。 因?yàn)闉g覽器不會(huì)發(fā)送太大的數(shù)據(jù)給網(wǎng)站,但是服務(wù)器間的接口交互可能會(huì)出現(xiàn)該問題。
nginx出現(xiàn)這個(gè)問題的原因是請(qǐng)求實(shí)體太長(zhǎng)了。一般出現(xiàn)這種情況是Post請(qǐng)求時(shí)Body內(nèi)容Post的數(shù)據(jù)太大了,如上傳大文件過大、POST數(shù)據(jù)比較多。
解決方法:
打開nginx主配置文件nginx.conf,找到http{}段,修改或者添加 client_max_body_size 的值
client_max_body_size 20m;
關(guān)于php修改上傳文件大小限制的方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。