1. 程式人生 > 實用技巧 >wordpress宕機原因及處理方法

wordpress宕機原因及處理方法

2020年7月底,查看了網站日誌,是wp-cron.php導致異常。

原來這是WordPress定時任務,禁用即可。

在wp-config.php新增

/* 禁用定時任務 wp-cron */
define('DISABLE_WP_CRON', true);

後來發現wp-cron.php還是會導致異常。

於是採用新的方案:移除無效的定時任務。

//移除無效的定時任務
add_action('wpjam_remove_invild_crons', 'wpjam_remove_invild_crons');
function wpjam_remove_invild_crons(){
    global
$wp_filter; $wp_crons = _get_cron_array(); foreach ($wp_crons as $timestamp => $wp_cron) { foreach ($wp_cron as $hook => $dings) { if(emptyempty($wp_filter[$hook])){ foreach( $dings as $sig=>$data ) { wp_unschedule_event($timestamp
, $hook, $data['args']); } } } } } if(!wp_next_scheduled('wpjam_remove_invild_crons')) { wp_schedule_event( time(), 'daily', 'wpjam_remove_invild_crons' ); }

再後來又頻繁宕機,這次是因為主題函式檔案,function.php

根據報錯的具體位置,發現是我自行新增的程式碼中英文標點錯誤。

//遮蔽無效版本
function disable_autosave() {
    wp_deregister_script(
'autosave'); } remove_action('pre_post_update', 'wp_save_post_revision'); add_action('wp_print_scripts', 'disable_autosave');

把中文單引號換成英文單引號就可以了。

後續繼續觀察!

這幾天頻繁宕機,網站排名和流量從400多訪客跌倒100多訪客,希望能及時止損。