解決nginx+php-fpm無法上傳檔案問題

來源:互聯網
上載者:User

解決辦法

location ~ \.php$ {
root /var/www/html/public;
client_max_body_size 50M;
client_body_temp_path /tmp;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;

}

附:不要找了,網上說的很多我都試過!一直提示Firebug 達到了 Post 請求大小限制

修改PHP.ini中post_max_size upload_max_filesize max_execution_time max_input_time


開啟php.ini檔案,修改完畢後重啟伺服器。測試下上傳檔案。。。。(嘻嘻,是不是傳上了很大的檔案?)

1、檔案上傳時存放檔案的臨時目錄。必須是 PHP 進程所有者使用者可寫的目錄。如果未指定則 PHP 使用系統預設值php.ini檔案中upload_tmp_dir用來說明PHP上傳的檔案放置的臨時目錄。
要想上傳檔案,得保證伺服器沒有關閉臨時檔案和有對檔案夾的寫入權限

2、max_execution_time

變數max_execution_time設定了在強制終止指令碼前PHP等待指令碼執行完畢的時間,此時間以秒計算。當指令碼進入了一個無限迴圈狀態 時此變數非常有用。然而,當存在一個需要很長時間完成的合法活動時(例如上傳大型檔案),這項功能也會導致操作失敗。在這樣的情況下必須考慮將此變數值增 加,以避免PHP在指令碼正在執行某些重要過程的時候將指令碼關閉。

修改為:max_execution_time =800

3、file_uploads = On(原來問開就不用設定了)
4、upload_max_filesize =2M修改為800M
5、同表單提交相關的一個變數是post_max_size,它將控制在採用POST方法進行一次表單提交中PHP所能夠接收的最大資料量。似乎不大 可能需要將預設的8 MB改得更大。相反,應當適當將其降到更為實際的數值。但如果希望使用PHP檔案上傳功能,則需要將此值改為比upload_max_filesize還 要大。
也修改為:post_max_size =900M

6、max_input_time

此變數可以以秒為單位對通過POST、GET以及PUT方式接收資料時間進行限制。如果應用程式所運行環境處在低速鏈路上,則需要增加此值以適應接收資料所需的更多時間.
修改為:max_input_time =900

7、memory_limit =10M

為了避免正在啟動並執行指令碼大量使用系統可用記憶體,PHP允許定義記憶體使用量限額。通過memory_limit變數來指定單個指令碼程式可以使用的最大記憶體容量
變數memory_limit的值(不要超出伺服器內寸最大值)
修改為:memory_limit =128M

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.