Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> 電腦軟件教程 >> 服務器技術 >> 關於服務器 >> 解決nginx+php-fpm無法上傳文件問題

解決nginx+php-fpm無法上傳文件問題

日期:2017/2/8 10:10:19      編輯:關於服務器
上傳文件對於我們任何的確web開發都會需要的一個功能,但是小編配置的nginx+php-fpm上傳不了文件了,下面我們一起來看問題的解決辦法。    

解決辦法

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

Copyright © Windows教程網 All Rights Reserved