萬盛學電腦網

 萬盛學電腦網 >> 服務器教程 >> 解決nginx+php-fpm無法上傳文件問題

解決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 © 萬盛學電腦網 all rights reserved