當 Elementor 編輯頁面后update時出現 Server Error (500 error)錯誤,在日志中顯示WordPress 的 admin-ajax.php 返回 500 錯誤(如日志中的 "POST /wp-admin/admin-ajax.php HTTP/2.0 500 184"),通常與插件/主題的 AJAX 請求沖突、PHP 配置或資源限制有關。以下是針對性解決方案:
1. 獲取詳細錯誤信息
啟用 WordPress 調試模式
在 wp-config.php 中添加以下代碼,定位具體錯誤:
php
復制
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true); // 錯誤日志保存到 /wp-content/debug.log
define('WP_DEBUG_DISPLAY', false); // 不直接顯示錯誤到前端
- 操作后:復現錯誤(如觸發 Elementor 操作),檢查
/wp-content/debug.log中的具體錯誤(如內存不足、語法錯誤等)。
2. 檢查 AJAX 請求來源
確定觸發 AJAX 的插件/功能
- 在瀏覽器開發者工具(F12)的 Network 選項卡中:
- 1.找到失敗的
admin-ajax.php請求。 - 2.查看 Headers 或 Payload 中的
action參數(如action=elementor_ajax_action)。 - 3.根據
action名稱定位到具體插件或主題功能。
- 1.找到失敗的
3. 解決常見原因
可能性 1:插件/主題沖突
- 操作:
- 1.停用所有插件:通過 FTP 重命名
/wp-content/plugins為plugins_old。 - 2.切換默認主題:重命名當前主題文件夾(如
/themes/your-theme→your-theme_old)。 - 3.重新訪問頁面,若錯誤消失,逐步恢復插件/主題,找到沖突源。
- 1.停用所有插件:通過 FTP 重命名
可能性 2:PHP 內存不足
- 錯誤示例:
Allowed memory size exhausted - 修復:
- 在
wp-config.php中增加內存:php復制define('WP_MEMORY_LIMIT', '512M'); - 或在
php.ini中設置:ini復制memory_limit = 512M(作者推薦這個方法)
- 在
可能性 3:PHP 超時
- 錯誤示例:
Maximum execution time exceeded - 修復:
- 在
php.ini中調整:ini復制max_execution_time = 300 max_input_time = 300
- 在
可能性 4:代碼語法錯誤
- 錯誤示例:
PHP Parse error: syntax error in... - 操作:
- 根據
debug.log提示的文件和行號,檢查插件/主題代碼。 - 若為第三方插件,嘗試重新安裝或聯系開發者。
- 根據
4. 檢查服務器配置
安全模塊攔截(如 ModSecurity)
- 現象:錯誤日志中出現
ModSecurity: Access denied。 - 解決:
- 1.聯系主機提供商,提供觸發錯誤的 AJAX 請求詳情,請求臨時禁用 ModSecurity 或調整規則。
- 2.或自行在
.htaccess中添加(不推薦長期使用):apache復制<IfModule mod_security2.c> SecRuleEngine Off </IfModule>
5. 修復文件權限
- 目標:確保 WordPress 核心文件可讀寫。
- 命令(通過 SSH):
bash復制
cd /path/to/wordpress find . -type d -exec chmod 755 {} \; # 目錄權限 755 find . -type f -exec chmod 644 {} \; # 文件權限 644 chmod 600 wp-config.php # 保護配置文件
6. 手動重裝 WordPress 核心文件
- 適用場景:懷疑
admin-ajax.php文件損壞。 - 步驟:
- 1.從 WordPress 官網 下載最新版本。
- 2.刪除服務器上的
/wp-admin和/wp-includes目錄。 - 3.上傳新版本中的對應目錄。
7. 數據庫修復
- 操作:
- 1.在
wp-config.php中添加:php復制define('WP_ALLOW_REPAIR', true); - 2.訪問
https://your-site.com/wp-admin/maint/repair.php,執行數據庫修復。
- 1.在
8. 回退 Elementor 版本
- 使用 WP Rollback 插件降級到穩定版本。
總結步驟
- 1.啟用調試模式 → 獲取具體錯誤信息。
- 2.檢查 AJAX 請求來源 → 定位沖突插件/主題。
- 3.按優先級修復:內存/超時 → 代碼錯誤 → 文件權限 → 服務器配置。
- 4.重裝核心文件或回退插件。
若問題仍未解決,提供以下信息尋求進一步幫助:
debug.log內容- PHP 版本、Elementor 版本
- 主機環境(如 Apache/Nginx、MySQL 版本)





