国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > CMS > Wordpress > 正文

wordpress 優(yōu)化 – 解決定時發(fā)布失敗

2024-09-07 00:52:07
字體:
供稿:網(wǎng)友

WordPress 不知道在哪個版本里面加入了定時發(fā)布功能,這個本來其實(shí)是很不錯的功能,可惜有著各種各樣的問題,比如我這臺VPS安裝完成之后,就一直無法成功發(fā)布文章.

第一種可能性:

從程序的角度出發(fā),定時發(fā)布應(yīng)該是在服務(wù)端計算時間,推測不能成功發(fā)布的原因,有兩種可能性,第一個是時間計算是正確的,但是VPS 反應(yīng)比較慢,等定時程序開始操作時,原定時間又過期了,導(dǎo)致進(jìn)入無限循環(huán),無法發(fā)布成功,我們先按照這個思路進(jìn)行修改,在 /wp-includes/cron.php 中找到一段代碼,看起來是超時時間控制的代碼,代碼如下:

  1. $cron_request = apply_filters( ‘cron_request’, array
  2.  
  3. ‘url’ => add_query_arg( ‘doing_wp_cron’, $doing_wp_cron, site_url( ‘wp-cron.php’ ) ), 
  4.  
  5. ‘key’ => $doing_wp_cron
  6.  
  7. ‘args’ => array
  8.  
  9. ‘timeout’ => 0.01, 
  10.  
  11. ‘blocking’ => false, 
  12.  
  13. ‘sslverify’ => apply_filters( ‘https_local_ssl_verify’, false ) 
  14. //Vevb.com 
  15.  
  16. ) ); 

先將timeout 的0.01修改為30.00,這樣有30秒的空檔時間,應(yīng)該是肯定可以滿足條件了,修改完成之后,再次發(fā)布一篇文章進(jìn)行測試,發(fā)現(xiàn)依然沒有發(fā)布成功.

第二種可能性:

那么考慮第二種錯誤的可能性,就是服務(wù)器上取得的時間不正確,這也是有可能性的,VPS上可能存在時間的有三個地方,分別是操作系統(tǒng)的時間、數(shù)據(jù)庫的時區(qū)設(shè)置、php的時區(qū)設(shè)置.

CentOS時區(qū)設(shè)置

查看 CentOS 系統(tǒng)時間的命令為:date -R,發(fā)現(xiàn)為 UTC  時間,中國應(yīng)該為東8區(qū),執(zhí)行命令 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime,再次 date -R,顯示應(yīng)該是:[root@li672-190 uploads]# date -R Wed,24 Dec 2014 23:30:39 +0800

Mysql時區(qū)設(shè)置:

Mysql 查看時區(qū)方法為:

  1. mysql -u root -p 
  2.  
  3. mysql> show variables like ‘%time_zone%'; 
  4.  
  5. +——————+——–+ 
  6.  
  7. | Variable_name | Value | 
  8.  
  9. +——————+——–+ 
  10.  
  11. | system_time_zone | CST | 
  12.  
  13. | time_zone | SYSTEM | 
  14. //Vevb.com 
  15. +——————+——–+ 

這樣表示讀取的是系統(tǒng)時區(qū),進(jìn)行修改吧,修改的位置為 /etc/my.cnf。在 my.cnf 的[mysqld]項(xiàng)目中增加一條:

default-time-zone = ‘+8:00′

重啟mysql之后,再次進(jìn)入mysql里面查看時區(qū),應(yīng)該顯示:

  1. mysql> show variables like ‘%time_zone%'; 
  2.  
  3. +——————+——–+ 
  4.  
  5. | Variable_name | Value | 
  6.  
  7. +——————+——–+ 
  8.  
  9. | system_time_zone | CST | 
  10.  
  11. | time_zone | +08:00 | 
  12.  
  13. +——————+——–+ 
  14.  
  15. rows in set (0.00 sec) 

PHP時區(qū)設(shè)置:

PHP中也有時區(qū)設(shè)置,設(shè)置位置為 /etc/php.ini,設(shè)置ini文件中的[Date] 項(xiàng),設(shè)置時區(qū)為 date.timezone = Asia/Shanghai,然后重啟 php-fpm,通過修改這三個位置的時區(qū)設(shè)置之后,應(yīng)該不會再有和wordpress相關(guān)的時區(qū)設(shè)置失誤了,重新進(jìn)入wordpress的后臺,再次新建文章進(jìn)行發(fā)布,依然提示失敗.

第三種可能性:

前面兩種方式都失敗了,懷疑是否程序有bug,查找網(wǎng)上其他人的經(jīng)驗(yàn),發(fā)現(xiàn)了一個插件 WP Missed Schedule,安裝成功并啟用之后,問題解決,這個問題證明了,wordpress還是各種插件好用啊.

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 黔西县| 襄樊市| 鄂托克旗| 卓尼县| 濉溪县| 荆门市| 固阳县| 黄骅市| 崇信县| 玛曲县| 山西省| 云浮市| 永福县| 江都市| 嘉鱼县| 车致| 淄博市| 许昌县| 潜山县| 宜宾县| 廊坊市| 横峰县| 元氏县| 奇台县| 新泰市| 石渠县| 柏乡县| 军事| 澜沧| 衡南县| 岳阳市| 常山县| 道真| 施甸县| 新田县| 承德市| 承德市| 大渡口区| 浦东新区| 平乐县| 达日县|