如何解決WordPress上傳的檔案大小超過php.ini限制

錯誤型別:
WP內部錯誤
錯誤名稱:
上传的文件尺寸超过php.ini中定义的upload_max_filesize值
英文名稱:
the uploaded file exceeds the upload_max_filesize directive in php.ini
錯誤描述:
请务必记住,此上传限制不是WordPress设置。但是,如果您转到Media → Add New,则可以在WordPress站点中看到此限制。

如何修復上傳的檔案大小超過php.ini限制

嘗試將某些內容上傳到您的WordPress網站時卻收到一條訊息,提示“上傳的檔案尺寸超過php.ini中定義的upload_max_filesize值”?

當您上傳大影象、視訊、外掛、主題以及您上傳到WordPress網站的任何型別的檔案時,可能會出現此錯誤訊息。

在本教程中,我們將幫助您解決問題並使其能夠上傳這些大檔案。總的來說,我們將涵蓋:

什麼導致上傳的檔案超過php.ini中定義的upload_max_filesize值

上傳檔案超過php.ini中定義的upload_max_filesize值的示例

上傳檔案超過php.ini中定義的upload_max_filesize值的示例

讓我們從頭開始。為了保留伺服器的資源,主機對可以上傳的檔案的最大大小設定了限制。

這個最大值(以兆位元組為單位)在upload_max_filesize值中定義。

upload_max_filesize的值本身位於的php.ini檔案,這是預設的伺服器配置檔案需要PHP應用程式。

這兩件事——upload_max_filesizephp.ini——是你看到的錯誤訊息所引用的內容。

請務必記住,此上傳限制不是WordPress設定。但是,如果您轉到Media → Add New,則可以在WordPress站點中看到此限制:

如何檢查WordPress中的上傳限制

如何檢查WordPress中的上傳限制

正如您在上面看到的,示例網站將預設限制設定為128MB,這是非常大的並且不太可能導致問題。但是,許多其他主機將預設值設定為僅2MB或4MB。

這意味著如果您嘗試上傳大於該限制的檔案,您將看到“上傳的檔案超出了php.ini中定義的upload_max_filesize值”,或者類似的訊息,如“ xx檔案超出了該站點的最大上傳大小”

如何修復上傳的檔案超過php.ini中定義的upload_max_filesize值

為了修復此錯誤,您需要增加檔案大小上傳限制。也就是說,您需要增加php.ini檔案中定義upload_max_filesize的值。

有幾種不同的方法可以做到這一點 – 您選擇的確切方法將取決於您的偏好和主機的配置。

1. 與伺服器提供商支援人員聯絡

雖然我們將介紹一些您可以自己嘗試的方法,但最簡單的解決方案通常是聯絡您的主機支援並要求他們為您增加限制。

這是一個常見的請求,您的主機的技術支援人員應該確切地知道您想要什麼,並且只需要花費您幾分鐘的時間。這就是您的主機支援的目的!

2.通過cPanel編輯php.ini

如果您的主機使用cPanel,您應該能夠通過cPanel儀表板編輯您的php.ini檔案和upload_max_filesize值。

首先,尋找MultiPHP INI Editor

cPanel中的MultiPHP INI編輯器

cPanel中的MultiPHP INI編輯器

然後從下拉選單中選擇您的WordPress站點。之後,您將能夠編輯該站點的upload_max_filesize值:

更改cPanel中的upload_max_filesize值

更改cPanel中的upload_max_filesize值

根據您的需要增加數值。

3.通過FTP建立或編輯php.ini

正如您在上面瞭解到的,php.ini檔案控制您的伺服器如何為PHP應用程式工作。

不幸的是,根據您主機的限制,您可能會也可能不會使用php.ini檔案。出於這個原因,有時更可靠的方法是使用 .htaccess(我們將在下一節中介紹)。

但是,您可以先嚐試一下,看看是否允許您在主機上使用php.ini

首先,通過FTP連線到您的伺服器並轉到您站點的根資料夾。

如果您已經在根資料夾中看到一個php.ini檔案,您可以編輯該檔案。否則,建立一個新檔案並將其命名為php.ini

如何建立一個新的php.ini檔案

如何建立一個新的php.ini檔案

然後新增或修改下面的程式碼片段:

  • 如果您建立了一個新檔案,請貼上程式碼片段並修改數字以滿足您的需要。
  • 如果您正在編輯現有檔案,請在現有檔案中找到相同的指令並修改數字以滿足您的需要。
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
upload_max_filesize = 12M
post_max_size = 13M
memory_limit = 15M
upload_max_filesize = 12M post_max_size = 13M memory_limit = 15M
upload_max_filesize = 12M
post_max_size = 13M
memory_limit = 15M

將程式碼新增到php.ini檔案中

將程式碼新增到php.ini檔案中

某些主機可能會進一步要求您在站點的.htaccess檔案中新增suPHP指令,以便上述更改真正起作用。

為此,您還可以通過PHP編輯.htaccess檔案並在檔案頂部附近新增以下程式碼:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<IfModule mod_suphp.c>
suPHP_ConfigPath /home/yourusername/public_html
</IfModule>
<IfModule mod_suphp.c> suPHP_ConfigPath /home/yourusername/public_html </IfModule>
<IfModule mod_suphp.c>
suPHP_ConfigPath /home/yourusername/public_html
</IfModule>

確保替換/home/yourusername/public_html為您站點的實際檔案路徑。

4.通過編輯.htaccess增加upload_max_filesize值

如果通過上述方法直接建立或編輯php.ini檔案不起作用,您還可以嘗試通過編輯您網站的 .htaccess 檔案來修改upload_max_filesize指令。

首先,通過FTP連線到您的站點並編輯位於站點根資料夾中的 .htaccess 檔案。

然後,新增以下程式碼片段,確保根據您的需要調整值:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
php_value upload_max_filesize 12M
php_value post_max_size 13M
php_value memory_limit 15M
php_value upload_max_filesize 12M php_value post_max_size 13M php_value memory_limit 15M
php_value upload_max_filesize 12M
php_value post_max_size 13M
php_value memory_limit 15M

如何通過 .htaccess控制php.ini檔案

如何通過 .htaccess控制php.ini檔案

如果您在新增此程式碼片段後收到內部伺服器錯誤訊息,則您的伺服器很可能在CGI模式下執行 PHP ,這意味著您無法在.htaccess檔案中使用這些命令。刪除您剛剛新增的程式碼段,您的網站應該會重新開始執行。

注意 – 如果您是伺服器使用NGINX,這意味著您的站點沒有 .htaccess 檔案。這種情況下,你只能考慮修改php.ini中的程式碼或者聯絡伺服器提供商技術人員提供支援。

小結

要檢查您的更改是否有效,您可以返回WordPress儀表板中的媒體 → 新增新檔案,以檢視新的最大上傳限制是否與您在php.ini檔案中設定的數量相匹配。如果一切順利,您應該會看到您的新值,並且您將能夠上傳給您帶來問題的檔案。

最後,如果您嘗試過的任何方法都不起作用,並且您的主機支援由於某種原因無法提供幫助,您可以隨時通過FTP上傳檔案作為解決方法。FTP沒有限制,可以讓您上傳從影象到外掛和主題的所有內容。

評論留言