Wordpress定时任务(如数据库自动备份、自动发表文章)主要靠wp-cron.php来实现的,其原理如下:当有用户访问Wordpress站点的内容是,Wordpress系统判断当时是否有需要运行的后台任务,如果有则在后台访问wp-cron.php执行定时任务。Wordpress定时任务功能给用户确实带来了很大的方便,但是也有一些用户在使用定时任务时遇到了一些问题。如wp-super-cache缓存插件的用户可能会遇到wp-cron.php进程过多,造成服务器负载过大或虚拟主机CPU配额超标。
如你遇到wp-cron.php进程过多造成服务器负载过大,可以通过以下方法解决:
1、禁用Wordpress定时任务wp-cron,编辑wp-config.php,加入以下内容:
- define( 'DISABLE_WP_CRON' , true);
Wordpress定时任务被禁用后,会造成一些功能无法使用,如数据库定时备份、定时发表文章等。如你确需要以上功能,可通过服务器crontab设置定时访问wp-cron.php来执行定时任务,具体方法如下:
2、在Linux系统的crontab中填加以下内容(请修改对应的Wordpress目录),设置每15分钟访问一次wp-cron.php以执行Wordpress定时任务。
- /15 * php -q /home/public_html/wp-cron.php