wordpress宕機原因及處理方法
阿新 • • 發佈:2020-08-08
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多訪客,希望能及時止損。