在WordPress中上傳圖片時修復錯誤

以下文檔回顧了在WordPress中上傳圖片時出現的最常見問題  ,並提供了解決方案:

  • 圖像文件名
  • 上載圖片時出現HTTP錯誤
  • 無法在媒體庫中創建目錄和損壞的圖像
  • 文件超出了upload_max_filesize

WordPress上傳圖片-媒體庫

檢查圖像文件名

首先要檢查的是圖像的名稱。如果文件名包含任何特殊字元(例如分號或等號等),則可能無法上傳。

上載圖片時出現HTTP錯誤

當您嘗試上傳像素大小較大的圖像(例如3000 x 2000像素的圖像)時,會發生這種情況。對於您的伺服器而言,這太大了。
即使當圖像小於3000 x 2000像素時,某些伺服器也會顯示錯誤,這完全取決於伺服器資源。

HTTP錯誤。

解決方案

以下是一些可用於解決WordPress中的HTTP錯誤問題的解決方案。

上載前請減小圖像尺寸。 

  • 如果您使用的是Mac,則可以使用預覽應用程序來減小圖像的大小。 
  • 對於PC,您可以使用Paint Application。 
  • 在Customizr和Customizr Pro主題中,帶框的滑塊圖像大小為1170px x 500px,因此您可以在上傳之前縮小該大小的圖像。 
  • 反覆嘗試減小圖像尺寸,直到您可以上傳它而沒有任何錯誤。

增加PHP內存

  • 請與您的網路託管公司聯繫,並要求他們增加您的PHP內存限制。逐漸增加,直到您能夠上傳可接受的圖像尺寸為止。寬度至少為2000px。
  • 如果您願意自己做,則可以在wp-config.php中添加以下內容。僅當您的託管程序包具有該內存量時,此方法才有效。逐漸增加,直到您能夠上傳可接受的圖像尺寸為止。
    define('WP_MEMORY_LIMIT','256M');
    	
  • 您也可以嘗試通過在.htaccess文件中添加以下內容來增加內存。僅當您的託管程序包具有該內存量時,此方法才有效。逐漸增加,直到您能夠上傳可接受的圖像尺寸為止。
    注意:某些虛擬主機不允許這樣做,您將收到500個內部伺服器錯誤。在這種情況下,您將必須刪除此代碼。

    php_value memory_limit 256M
    	
  • 如果可以訪問Web伺服器的php.ini文件,則可以找到memory_limit並增加其大小。僅當您的託管程序包具有該內存量時,此方法才有效。逐漸增加,直到您能夠上傳可接受的圖像尺寸為止。
    內存限制= 256M
    	

ModSecurity

  • 您的伺服器可能具有mod_security,並且可能引起問題。
    禁用它以查看是否是問題所在。
    為此,請在您的wp-admin目錄中創建一個.htaccess文件。
    向其添加以下代碼:

    <IfModule mod_security.c> 
    SecFilterEngine關閉 
    SecFilterScanPOST關閉 
    </ IfModule>
    

    這將對wp-admin中的上載文件接收代碼禁用mod_security。
    注意:如果這導致您的伺服器上出現任何錯誤,請刪除它。

基於身份驗證的訪問控制

  • 如果您在Web伺服器上使用基於身份驗證的訪問控制(通常稱為htpasswd,基本身份驗證,受密碼保護的目錄或類似名稱),則WordPress無法為Flash Uploader,Cron和XMLRPC處理它。需要排除相關文件才能工作。在WordPress根文件夾下的.htaccess文件中的以下位置。
    #從身份驗證中排除文件上傳和WP CRON腳本
    <FilesMatch「(async-upload \ .php | wp-cron \ .php | xmlrpc \ .php)$」>
        滿足任何
        訂單允許,拒絕
        全部允許
        全都拒絕
    </ FilesMatch>
    

插件衝突

  • 您可能已經安裝了導致此問題的插件。請一次停用一個插件。清除緩存和瀏覽器歷史記錄,然後重新訪問媒體上傳器以上傳您的圖像(將像素大小保持較小),看看是否成功。

無法在媒體庫中創建目錄和損壞的圖像

如果您無法在媒體庫中看到縮略圖,並且在上載圖像時遇到以下錯誤。

無法創建目錄wp-content / uploads / 2016/02。伺服器的父目錄是否可寫?

當您的wp-content / uploads文件夾的許可權已更改時,會發生這種情況。當您不小心更改了它的許可權,或者您的網路託管技術人員可能正在做一些維護工作,並且不小心重置了它的文件夾許可權時,可能會發生這種情況。

  • 使用您喜歡的FTP程序登錄到伺服器。(如何在WordPress中使用FTP軟體?
  • 導航到wp-content / uploads /
  • 使用您的FTP程序將上載文件夾許可權更改為755,適用於所有附帶的項目。
    這將確保您的上載文件夾中的所有項目和文件夾都設置為755。
  • 清除瀏覽器緩存。 
  • 登錄WordPress並訪問您的媒體庫,您應該會看到上傳圖像的所有縮略圖。
  • 您應該能夠上傳圖像而不會看到無法創建目錄錯誤。

文件超出了upload_max_filesize

當您在php.ini文件中設置的PHP上載最大文件大小(upload_max_filesize)小於嘗試上載的圖像的文件大小時,就會發生這種情況。

在系統信息中查看PHP Upload Max Filesize的價值,您需要將其增加到一個更高,更健康的值。

..超出此網站的最大上傳大小。

解決方案

以下是一些可用於解決WordPress中超出上傳上限文件大小問題的解決方案。

聯繫您的託管公司

是的,這是最喜歡的方式。請與您的託管公司聯繫,並向他們顯示您的錯誤的屏幕截圖,或向他們發送錯誤消息。要求他們協助增加以下值,直到您能夠上載圖像為止。您的託管公司可能對這些值有限制。

upload_max_filesize 
post_max_size 
max_execution_time 
max_input_time

優選為以下值。

upload_max_filesize 64M 
post_max_size 64M 
max_execution_time 300 
max_input_time 300

編輯php.ini文件

php.ini文件是PHP的默認配置文件。大多數共享主機公司不允許訪問此文件。如果確定可以訪問伺服器上的php.ini文件,則可以繼續以下步驟。

  1. 使用您的FTP程序訪問它。(如何在WordPress中使用FTP軟體?
  2. 在嘗試編輯該文件之前,請備份該文件的副本。
  3. 打開它並一次查找以下值(它們位於文件中的不同行)
    upload_max_filesize 
    post_max_size 
    max_execution_time 
    max_input_time
    
  4. 最好將它們編輯為以下值。
    upload_max_filesize 64M 
    post_max_size 64M 
    max_execution_time 300 
    max_input_time 300
    

使用.htaccess文件

在WordPress中,有一個.htaccess文件。WordPress使用此文件來操縱Apache(伺服器)如​​何從其根目錄和子目錄提供文件。因此,此文件非常重要。不要編輯此文件中的原始內容。您可以在文件末尾添加一些指令以增加PHP Upload Max Filesize。  在此處了解有關WordPress中htaccess文件的更多信息

  1. 使用您喜歡的FTP程序訪問WordPress安裝。
  2. 轉到根目錄,即您可以在其中找到wp-config.php文件的目錄。您應該能夠找到您的.htaccess文件。
  3. 將其副本下載到計算機上以另存為備份。
  4. 打開它,並將以下內容添加到文件末尾的換行符中。
    php_value upload_max_filesize 64M 
    php_value post_max_size 64M 
    php_value max_execution_time 300 
    php_value max_input_time 300
    
  5. 保存所做的更改並覆蓋伺服器上的.htaccess文件。
  6. 返回您的系統信息,並檢查您的值是否已更改。
    如果沒有,您應該與您的託管公司聯繫,以獲取有關在php.ini文件中編輯這些值的幫助。
相關文章