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(empty($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多访客,希望能及时止损。

posted @ 2020-08-08 14:56  平底斜  阅读(457)  评论(0编辑  收藏  举报