問題描述

我在 Ubuntu 12.04 上使用 Apache 和 PHP 5.3.X 中的 WordPress 3.4.1

當我登入到儀錶板並新增一個新的帖子。然後嘗試上傳影像以設定為特色影像,我得到一個紅色框與訊息”HTTP Error” 。

我已經閱讀了有關人們說不要使用 Flash 上​​傳器,只是使用瀏覽器上傳器,但是當我嘗試,我只是得到一個 500 內部伺服器錯誤。

我已經嘗試在我的.htaccess 檔案的頂部新增 AddType x-mapp-php5 .php,沒有改變的運氣。

停用所有外掛沒有任何效果。我嘗試了一個新的安裝。沒有運氣。

更新 10/17/2016 – 如果您使用自定義角色或功能,請嘗試使用本機角色/功能,然後重試。

最佳解決方案

在與 @Wyck 進行故障排除之後,我們已經縮小到基本問題。

這個問題與我的伺服器配置沒有適當的記憶體分配給 Apache /PHP 有關。

如果有任何人有同樣的問題,請嘗試在您的伺服器配置設定中驗證是否有足夠的 (64MB +) 伺服器記憶體分配給 Apache /PHP 。您也可以將其新增到您的 wp-config.php 檔案中:define('WP_MEMORY_LIMIT', '64MB');

如果上述解決方案不起作用,請閱讀本文 (Image/Media Uploader problems?) 以進一步解決問題。

嘗試在 WordPress 安裝的根目錄中的.htaccess 檔案中逐個或全部以下.htaccess 調整。

認真地,嘗試下面的每個解決方案之一,所以你知道哪一個做的伎倆。不要將它們全部貼上到您的.htaccess 檔案中。

嘗試這一行:

AddType x-mapp-php5 .php

mod_security 可能會導致問題。停用它,看看是否是問題。為此,請將.htaccess 檔案放在 wp-admin 目錄中。新增到它:

<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>

如果您使用基於 Web 伺服器上的身份驗證 (通常稱為 htpasswd,基本身份驗證,受密碼保護的目錄或類似的) 進行訪問控制,則 WordPress 無法處理 Flash Uploader,Cron 和 XMLRPC 。相關檔案需要排除工作。請記住,這可能會破壞您的安全考慮。

# Exclude the file upload and WP CRON scripts from authentication
<FilesMatch "(async-upload.php|wp-cron.php|xmlrpc.php)$">
    Satisfy Any
    Order allow,deny
    Allow from all
    Deny from none
</FilesMatch>

最後一個注意事項:有些人說如果使用較小版本的 PHP 5.3.X,可以嘗試停用 PHP 安全模式。

如果您正在執行 WordPress multi-site,並且正在接收與影像上傳相關的 HTTP 錯誤或內部伺服器錯誤,請閱讀 Uploading Images to Multi-Site Causes Failure to HTTP Error 以獲取其他可能的故障排除思想和解決方案。

次佳解決方案

我將以下程式碼放入我的 functions.php 檔案中。有用!

add_filter( 'wp_image_editors', 'change_graphic_lib' );

function change_graphic_lib($array) {
  return array( 'WP_Image_Editor_GD', 'WP_Image_Editor_Imagick' );
}

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。