我已經搜遍了網頁,到目前爲止沒有任何結果。所以我最後的努力就是在這裏問,希望這可能會讓我們看到這一點。Plesk/nginx上傳問題
我無法獲得2mb以上的最大上傳大小。
我的猜測是問題是與plesk,它似乎沒有選項來設置nginx配置,即使它自動生成它們。對我來說,在SSH中手動編輯它們毫無意義。
PHP對每個虛擬主機的這些設置:
memory_limit的64M;
post_max_size 32M;
upload_max_filesize 16M;
nginx的在HTTP塊具有這(一個區域而不的plesk變回我可以編輯):
client_max_body_size 64M;
client_body_buffer_size 128k;
的plesk在每nginx的服務器塊自動生成這樣的:
client_max_body_size128米;
通常給出的錯誤是413與NGINX,導致我相信PHP無關(但服務器錯誤並不總是反映實際問題)。
Nginx通過代理將連接路由到apache,但是沒有配置可以爲apache找到,只需「httpd」,並且配置也會自動生成。因爲我看到的錯誤是由nginx生成的,所以我很猶豫,相信apache是問題的所在(但是我會在這裏注意到任何人有不同的想法)
到目前爲止,我已經花了幾個小時在命令行和plesk管理面板。這兩者絕對沒有關係的2MB的限制。我猜的一個「猜測」是,我需要將client_max_body_size添加到位置塊,但這意味着重新格式化服務器而不使用plesk女巫不是一個選項。
因此,要清除任何混淆,我問的是,如果有任何其他的nginx/apache/php可能設置一個限制,然後各自的配置文件,或者如果plesk可能有一個祕密隱藏的配置,他們,我我無法找到。
編輯: 基於評論這裏是更多的一些信息:
的的phpinfo文件顯示的所有設置爲正常按Plesk中設置。
/etc/httpd/conf.d/中的php.conf文件沒有LimitRequestBody。
fcgid。的conf文件的FcgidMaxRequestLen是1073741824
您是否驗證過您正在寫入正確的PHP配置文件?做一個'phpinfo()'轉儲只是爲了確保。您應該可以編輯nginx.conf並重新啓動服務...如果不起作用,請將client_max_body_size指令移到服務器塊外部。一些很好的信息:http://forum.slicehost.com/index.php?p=/discussion/1714/nginx-413-when-uploading-file-1mb-or-larger/p1 –
phpinfo確實驗證了適當的設置爲PHP無論如何。我已經編輯了nginx.conf文件並重新啓動了服務器,嘗試了多個小變化。有趣的事實是,我已閱讀該帖子,並嘗試它:)。由於生成的nginx配置了其他主,所以我不能直接編輯位置塊。 –
檢查/etc/apache2/conf.d/fcgid.conf中的FcgidMaxRequestLen: FcgidMaxRequestLen 1073741824如果它沒有設置正確,這將給它1GB –