2016-10-13 24 views
1

當在CodeIgniter中使用上傳功能時,如果我嘗試上傳大於20M的pdf文件,我會得到一個「404文件未找到「或413請求實體太大。我可以看到它是「上傳nn%」,高達97%或98%,然後退出並給我一個錯誤。如果我贊同的phpinfo(),我可以看到以下內容:413請求實體太大,使用CodeIgniter:phpinfo()指示適當的最大尺寸

upload_max_filesize = 64M 
post_max_size = 256M 

另外,如果我使用文件管理器上的cPanel,我能夠上傳較大的文件沒有問題。

我放在.htaccess中(這是建議的另一個問題),但它並沒有幫助:

<IfModule mod_php5.c> 
    php_value upload_max_filesize 128M 
    php_value post_max_size 128M 
    php_value max_input_time 3600 
    php_value max_execution_time 3600 
</IfModule> 
<IfModule mod_php4.c> 
    php_value upload_max_filesize 128M 
    php_value post_max_size 128M 
    php_value max_input_time 3600 
    php_value max_execution_time 3600 
</IfModule> 

我是相當新的PHP。

+0

查看php.ini中的'memory_limit'。它應該大於'post_max_size'。如果您有權訪問php.ini,則使用.htaccess沒有意義。當您無法訪問php.ini時,該方法非常有用。 – DFriend

+0

memory_limit是512M –

回答

1

看起來錯誤不是來自PHP,而是來自Web服務器。

如果您使用nginx,您可以了允許的最大尺寸後與client_max_body_size指令

server { 
    ... 
    client_max_body_size 128m 
    ... 
} 

如果你使用Apache,那麼有幾個選項在其配置文件檢查(httpd.conf文件)。

LimitRequestBody 131072000 

如果mod_security的模塊在Apache的,因爲它更新限制,以及使用:

SecRequestBodyLimit 131072000 

不要忘了重新啓動服務器。

+0

我需要將此信息傳遞給我的主管,以便他可以更新該信息。希望他今天能夠做到這一點,但我會在下週休假,所以我可能無法在下一週給你結果。謝謝! –

+0

我的主管還沒有嘗試過這一點,但我想確保你知道我**能夠通過cPanel上的文件管理器上傳大文件,這會讓我相信這不是問題與服務器。你怎麼看? –

+0

這糾正了Apache上的問題。謝謝@Vaviloff –