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