昨天趁着黑五的活动,买了一家便宜VPS,叫ITLDC,一年116元。1核1G内存。速度上勉勉强强。我把企鹅小屋上的几个站都给搬了过去。这是昨天下午的事情。
今天就发现了一些未知问题。比如,火车头免登录接口,无法获取到分类目录。摸索一番之后,发现是域名带了https之后,获取不到。在宝塔后台,将强制https关闭之后,火车头接口把域名更换为http,问题解决。怀疑是VPS有问题,但443端口又是正常的。之前企鹅小屋用得好好的,完全没毛病。这家ITLDC不知道什么情况。
然后,就是定时发布文章失败。两个站点都是同样的问题。
怎么解决呢?
安装一个插件,叫“MY Missed Schedule”,,直接在后台搜索即能找到。启用之后,什么都不用管。直接解决好定时失败的问题。
搜了一下网上的答案。有好几种解决方法。但安装插件无疑是最半简便快捷的。
如果找不到这个插件,也可以将下面的代码保存成一个文件:timeout.php,
<?php if(!function_exists('add_action')){ header('Status 403 Forbidden');header('HTTP/1.0 403 Forbidden');header('HTTP/1.1 403 Forbidden');exit();} ?> <?php function wpms_log(){ echo"\n<!--Plugin WP Missed Schedule 2011.0920.2011 Active-->"; } add_action('wp_head','wpms_log'); add_action('wp_footer','wpms_log') ?> <?php define('WPMS_DELAY',5); define('WPMS_OPTION','wp_missed_schedule'); function wpms_replace(){ delete_option(WPMS_OPTION); } register_deactivation_hook(__FILE__,'wpms_replace'); function wpms_init(){ remove_action('publish_future_post','check_and_publish_future_post'); $last=get_option(WPMS_OPTION,false); if(($last!==false)&&($last>(time()-(WPMS_DELAY*60))))return; update_option(WPMS_OPTION,time()); global$wpdb; $scheduledIDs=$wpdb->get_col("SELECT`ID`FROM`{$wpdb->posts}`"."WHERE("."((`post_date`>0)&&(`post_date`<=CURRENT_TIMESTAMP()))OR"."((`post_date_gmt`>0)&&(`post_date_gmt`<=UTC_TIMESTAMP()))".")AND`post_status`='future'LIMIT 0,5"); if(!count($scheduledIDs))return; foreach($scheduledIDs as$scheduledID){if(!$scheduledID)continue; wp_publish_post($scheduledID);} } add_action('init','wpms_init',0) ?>
放在主题根目录下。然后在主题的function文件里添加一行代码 :
/** * 定时发送失败 */ require get_template_directory() . '/timeout.php';
也可以实现插件一样的功能。
嫌麻烦的话,可以直接下载小白提供的此文件:
链接: https://pan.baidu.com/s/1BCVnrMkFAme4duhkC-5lZw 提取码: l9ex