修復上傳檔案超出 php.ini 中的 Upload_Max_Filesize 指令錯誤

已發表: 2024-03-20

當您將檔案上傳到網站或伺服器並遇到錯誤訊息「上傳的檔案超出了 php.ini 中的 upload_max_filesize 指令」時,就像撞到了一堵看不見的牆一樣。 此錯誤直接表示您的伺服器的 PHP 配置有限制,導致您的檔案無法通過。 要了解此錯誤,需要深入了解 PHP 設定的工作原理以及它們對您的網站或應用程式的檔案處理功能的含義。

這個錯誤意味著什麼

限制上傳檔案大小的想法可以歸結為實際需求:保留伺服器資源。 網站託管提供者實施此限制是為了確保伺服器對每個人都保持快速和回應。 檔案大小上限(以兆位元組 (MB) 為單位)由稱為「upload_max_filesize」的特定指令控制。

“upload_max_filesize”設定位於名為“php.ini”的設定檔中。 該檔案是運行 PHP 的應用程式的伺服器設定的支柱,PHP 是 Web 開發中廣泛使用的伺服器端腳本語言。 當您遇到與超過 upload_max_filesize 限制相關的錯誤時,這個 PHP 配置設定就是問題的核心。

需要注意的是,此上傳限制不是 WordPress 或任何其他應用程式自行決定的。 但是,當您嘗試上傳媒體時,您肯定會在 WordPress 中遇到此限制。 例如,如果您導覽至 WordPress 儀表板上的“媒體”→“新增內容”,您將看到此處指定的最大上傳檔案大小。 此限制因您的託管提供者而異。 例如,10Web 提供 128 MB 的限制,足以滿足大多數需求。 相反,其他託管服務可能會將此限制設為低至 2 MB 或 4 MB,這可能非常嚴格。

因此,當您嘗試上傳大於允許限制的檔案時,您會遇到「上傳的檔案超出 php.ini 中的 upload_max_filesize 指令」錯誤。 或者,您可能會看到類似「檔案名稱超出此網站的最大上傳大小」之類的變體。

了解此限制並了解如何駕馭它是有效管理網站的關鍵。 如果您發現自己經常遇到此限制,可以透過多種方法進行調整,其中包括存取和修改“php.ini”文件,或使用其他方法,例如適用於WordPress 的“.htaccess”或“wp-config. php” -特定網址。 每種方法都有其自己的一組步驟和注意事項,但調整此限制可以大大增強網站的媒體處理能力,使其更加通用和使用者友好。

此錯誤的變體

根據您所處的環境,此錯誤可能會以多種方式出現。一些常見的變化包括:

  • Web 應用程式中“文件太大而無法上傳”
  • WordPress 或其他 CMS 平台上“超出了此網站的最大上傳大小”
  • 直接引用 PHP 錯誤日誌或偵錯工具中的 `upload_max_filesize`
  • 嘗試在某些 Web 介面中上傳檔案時出現一般性“HTTP 錯誤”

出現此錯誤的原因

有多種原因可能會觸發此錯誤,包括:

伺服器預設:許多伺服器預設都帶有保守的“upload_max_filesize”設置,通常為 2MB 或 8MB,以有效管理資源並防止濫用。

應用程式需求:某些應用程式或網站需要上傳大型檔案(例如影片、PDF 或大型資料集),這很容易超出「php.ini」中設定的預設限制。

設定不符:「upload_max_filesize」指令不是控制檔案上傳的唯一設定。也必須適當配置「post_max_size」指令,它限制 POST 資料的最大大小; 否則,單獨增加“upload_max_filesize”並不能解決問題。

修正上傳檔案超過php.ini中的upload_max_filesize指令

解決此錯誤涉及增加upload_max_filesize 您可以選擇您最習慣的方法。 該方法還取決於您的託管服務提供的設定。

聯繫支援人員

有時,最簡單的解決方案根本不需要您接觸任何設定檔。

聯絡託管提供者的支援團隊可能是解決此問題的最快且最輕鬆的方法。 這種方法不僅可以節省時間,還可以節省時間。 這是關於利用每天處理此類請求的專業人員的專業知識。 無論您經營的是小型部落格還是大型電子商務平台,您的託管支援都可以確保您的網站順利運作。

修改cPanel中的php.ini文件

調整「php.ini」檔案中的「upload_max_filesize」和「post_max_size」指令是解除這些限制的直接方法。

`php.ini` 檔案是伺服器上 PHP 配置的基石。 根據您的託管設置,該檔案通常可以在您網站的根目錄或 PHP 配置目錄中找到。

對於共享主機或無法直接存取檔案的環境,cPanel 提供了一種用戶友好的方式來編輯 PHP 設置,而無需打開文字編輯器或透過 SSH 存取伺服器。

使用 cPanel 編輯 `php.ini` 設定

cPanel 中的多重 php ini 編輯器

  1. 登入 cPanel 儀表板並在「軟體」部分下尋找「MultiPHP INI 編輯器」。 該工具旨在簡化修改 PHP 配置的過程。
  2. 進入 MultiPHP INI 編輯器後,您將看到一個下拉式選單,您可以在其中選擇要調整設定的特定網域或應用程式。
  3. 選擇網站後,尋找“upload_max_filesize”和“post_max_size”指令。 這兩個設定分別控制可以透過 PHP 上傳的檔案的最大大小以及 PHP 將接受的 POST 資料的最大大小。 將這兩個值設定為您需要的任何限制。
  4. 輸入新值後,請確保儲存變更。

cPanel 中上傳檔案最大大小

為了確保一切按預期工作,請嘗試上傳先前超出限制的文件。 如果操作正確,您應該不會再遇到上傳大小錯誤。

在某些情況下,尤其是在 VPS 或專用伺服器上,您可能需要重新啟動 Web 伺服器才能使變更生效。 這通常可以透過 cPanel 介面或聯絡託管提供者的支援來完成。

透過FTP修改php.ini

並非所有主機都允許直接修改“php.ini”文件,從而導致涉及“.htaccess”文件的有趣解決方法。 您可以檢查您是否有權更改或創建

使用 FTP 用戶端建立 php.ini 檔案。 如果這不起作用,那麼您可以繼續修改 .htaccess 檔案。

修改或建立 php.ini 文件

  1. 使用 FTP 用戶端存取您的伺服器。 此步驟需要 FTP 憑證,這些憑證通常由您的主機服務提供。
  2. 導覽至網站的根資料夾,通常名為「public_html」、「www」或類似名稱。 它是存放網站檔案的目錄。
  3. 如果根資料夾中已存在「php.ini」文件,請使用文字編輯器開啟它。 如果沒有,請建立新的文字檔案並將其命名為「php.ini」。
  4. 新增或修改以下行。 根據您的要求調整數字:
 上傳最大檔案大小 = 12M
post_max_size = 13M
記憶體限制 = 15M

「upload_max_filesize」和「post_max_size」值可確保您可以上傳大文件,而「memory_limit」則會影響 PHP 腳本可以消耗的記憶體量,這對於密集型外掛程式或主題至關重要。

某些託管環境,尤其是在執行 suPHP(在擁有者權限下執行 PHP 腳本的工具)的環境,需要在「.htaccess」檔案中進行特殊聲明以確認「php.ini」變更。

使用以下程式碼編輯您的 .htaccess 文件,將您的使用者名稱替換為您網站的真實文件路徑: <IfModule mod_suphp.c>

 suPHP_ConfigPath /home/您的使用者名稱/public_html
</如果模組>

修改 .htaccess 以增加上傳限制

此方法對於那些因主機限製或僅僅因為更改未按預期生效而因“php.ini”修改而陷入停滯狀態的人特別有用。 以下是如何使用「.htaccess」檔案來調整 PHP 設置,特別是針對檔案上傳限制和記憶體分配。

htaccess 檔案以紅色反白顯示,並出現在 FTP 用戶端的網站檔案清單中。

  1. 透過 FTP 連接到您的站點
  2. 連接後,導航到網站的根資料夾,通常名為“public_html”或“www”。
  3. 找到“.htaccess”檔案。 它應該位於您網站的根目錄中。
  4. 如果您看不到它,請確保您的 FTP 用戶端設定為透過導覽至「伺服器」>「強制顯示隱藏檔案」來顯示隱藏檔案。
  5. 雙擊 .htaccess 檔案以使用文字編輯器將其開啟。 如果您因為不存在而要建立新文件,只需建立新的文字檔案並將其命名為「.htaccess」即可。
  6. 在文件頂部新增以下行,調整值以滿足您的特定需求:
 php_value upload_max_filesize 12M
php_value post_max_size 13M
php_value 記憶體限制 15 M

需要注意的是,進行這些變更後,如果您的網站開始顯示內部伺服器錯誤,則您的伺服器可能正在 CGI 模式下執行 PHP,該模式不支援這些「.htaccess」指令。

刪除剛從「.htaccess」檔案中新增的行以還原網站的功能。

為 10Web 客戶調整 PHP 值

10Web 使用 NGINX 而不是 Apache,這意味著無需修改「.htaccess」檔案。 對於遇到上傳限制問題的 10Web 用戶,10Web 有一個快速且用戶友好的方法。 您可以在儀表板中找到解決方案。

從 10Web 儀表板更改 PHP 上傳限制。

若要調整或增加站點的 PHP 值:

  1. 登入您的 10Web 帳號。
  2. 點選發生錯誤的網站。
  3. 導覽至「託管服務」>「工具」。
  4. 向下捲動並點擊“高級設定”。
  5. 若要修復錯誤,請按一下下拉清單並調整「上傳限制」的值。
  6. 按一下“儲存”以實施變更。

結束語

導航「上傳的檔案超出 php.ini 中的 upload_max_filesize 指令」錯誤涉及基於伺服器設定和存取等級的幾種不同策略。 我們已經討論了 php.ini 檔案中的直接調整以及在 Apache 伺服器上利用 .htaccess 檔案。 對於直接文件存取不可行的情況,建議聯絡託管支援。 對於 10Web 客戶,情況略有不同,因為 10Web 使用 NGINX,不支援 .htaccess 修改。 然而,10Web 提供了一種簡化的、使用者友好的方法,可以直接從儀表板調整 PHP 值。 每種方法都旨在增強網站的功能,實現更大的文件上傳並提高效能。

利用 AI 加速 WordPress 網站創建

使用 10Web AI Website Builder 建立適合您業務需求的自訂 WordPress 網站,速度提高 10 倍。

產生您的網站
無需信用卡