問題描述
我在 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。