問題描述
如何調試 WordPress Cron 的問題?我認為當用户進入您的網站時會觸發,但任何錯誤都不會顯示給他們,因為作業運行”asynchronously” 。那麼我怎麼可能調試錯誤?
我使用 wp schedule event
最佳解決方案
您可以通過調用:http://example.com/wp-cron.php?doing_wp_cron 手動運行 WP cron
如果您不想在調試時運行自動 cron,請將其添加到/wp-config.php 文件中:
define('DISABLE_WP_CRON', true);
如果您處於開發環境並希望輸出調試信息,則手動調用它將顯示您的調試輸出。
或者,您可以使用 PHP 的 built-in error_log 函數將消息字符串記錄到錯誤日誌中進行調試。如 Rarst 所述,您需要將其與 WP_DEBUG settings 結合使用。
次佳解決方案
你可以使用插件 Cron-View 。在那裏你可以看到你的工作是否是 a) 註冊和 b) 下一個到期的時間。
此外,您可以為您的活動添加較低的 schedule-timer(例如每 2 分鐘),並在本地系統上更頻繁地測試您的方法。使用’cron_schedules’ 過濾器掛鈎註冊新的計劃時間。例如:
function my_additional_schedules($schedules) {
// interval in seconds
$schedules['every2min'] = array('interval' => 2*60, 'display' => 'Every two minutes');
return $schedules;
}
add_filter('cron_schedules', 'my_additional_schedules');
第三種解決方案
你可以 (並且在任何情況下都應該是 cron 或者不是)configure PHP error log 來捕獲所有的錯誤。
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。