Ktai Entry で自動チェックできなくなった時の対処法 – Cron (自動実行ジョブ) を使う

Ktai Entry を使用しているお客さんの WordPress サイトを、セキュリティ対策から 4.1 にアップデートした際、自動チェックをしなくなったという不具合が出ました。

おそらく、wp-cron の仕組みとかが変わったかなと思います。古いバージョンのプラグインを使うと大丈夫だというブログ記事も有りましたが、古いパージョンは使わないほうが良いです。

Ktai Entry プラグインに同梱している FAQ ページを拝見すると、 コマンドライン版 PHP を自動実行 Cron ジョブで retrieve.php を走らせることが出来る書かれていたので、それをロリポップやさくらインターネットで正常に実行できたのでその方法を書き留めておきます。

 

動作確認

以下が動作確認したサーバー情報です

  • WordPress 4.1
  • Ktai Entry 0.9.1.2
  • ロリポップ ロリポプラン
  • さくらインターネット スタンダードプラン

 

宣伝:ウェブサイトを作るなら WordPress よりも concrete5!(ブログは WordPress の方がいいです)

 

ロリポップでの設定方法

ユーザー専用ページにログイン

ユーザー専用コントロールパネルにログインし、「WEBツール」メニューから「cron設定」を選びます。

Lolipop Cron Setting 1

cron ジョブを設定

Lolipop Cron Setting

  • cron の設定名は適当に
  • 日付(月)は 毎月
  • 日付 (日)は 毎日
  • 曜日は毎日
  • 時間 (時)は毎時
  • 時間 (分)は10分毎
  • 実行ファイルパスですが、ロリポップは特殊でユーザー領域のトップ以外は指定できないようになっています。指定の開始位置も web ディレクトリ以下から開始すると書かれているので、例のように適宜変更して指定してやってください。
    • 例1:web 領域直下の場合:「wp-content/plugins/ktai-entry/inc/retrieve.php」
    • 例2:WordPress が「wordpress」ディレクトリ直下に設置してある場合:「wordpress/wp-content/plugins/ktai-entry/inc/retrieve.php」
  • 「設定」を押します

 

「メールアドレス設定」をして、確認

メールアドレスを設定すると、cronの実行結果を送ってくれるようになります。

テストで登録してみてください。

Lolipop Cron Email Notification

X-Powered-By: PHP/5.2.17
Content-Type: text/html; charset=UTF-8

There doesn&amp;#039;t seem to be any new mail.<br />Retrieval completed.<br />

何も、投稿記事がなければ、上記のようなメールの本文が送られてきますが、これで、OKです。

 

参考:ロリポップサーバーでCRONを使ってみよう

 

さくらインターネットでの Cron 設定

さくらインターネットは設定がちょっとややこしいです。

WordPress が設置してあるパスを確認

/www ディレクトリ以下に WordPress が設置してあると思いますが、www 以下どのディレクトリに WordPress が設置してあるか確認します。

 

レンタルサーバーコントロールパネルにログイン

なお、このチュートリアルはスタンダードなどの共用サーバー向けに書いています。

サーバーコントロールパネルよりログインします。

 

自分のユーザー名を確認

ログインの際に「*****.sakura.ne.jp」と、割り当てられたさくらのサブドメインがあると思います。そのユーザー名をメモります

 

PHP のパスを確認

コントロールパネルの「サーバ情報の表示」から、「サーバに関する情報」で各種プログラムのコマンドパスを確認しておきます。

Sakura Cron Setting 0-1

そこから、PHP のパスを探してメモります。自分の場合は「/usr/local/bin/php」でした。

Sakura.Cron.Setting.0-2

 

Cron の設定

左メニューの「アプリケーションの設定」から「CRONの設定」をクリック

Sakura Cron Setting 1

 

新規項目の追加」をクリック

Sakura.Cron.Setting.2

下記画像のように入れていきます。Sakura.Cron.Setting.3

実行コマンドのフォーマット

  • [PHPのパス] /home/[ユーザー名]/www/[WordPressまでのパス]/wp-content/plugins/ktai-entry/inc/retrieve.php 1> /dev/null

となります。

例えば、PHPのパスが「/usr/local/bin/php」で、ユーザー名が「concrete5saiko」で、WordPress は直接 www ディレクトリ直下に配置してあると


/usr/local/bin/php /home/concrete5saiko/www/wp-content/plugins/ktai-entry/inc/retrieve.php 1> /dev/null

って感じになります。上記のコードの適宜場所を変更して、自分のサイトに適用してください。

実行日時

10分置きに実行する設定をします。

  • は「*」 (半角のアスタリスク)
  • は「*」 (半角のアスタリスク)
  • は「*」 (半角のアスタリスク)
  • は「*/10」
  • 曜日は全ての曜日をチェック

 

参考:さくらのレンタルサーバ:CRONでPHP実行

 

設定完了

これで「送信」を押して設定完了です。

さくらの場合は、最後の「1> /dev/null」というコマンドをなくすと、「postmaster@自分のドメイン」にメールが送られるようになります。

一旦、上記の「1> /dev/null」を削除してみて、確認してもいいでしょう。

 

それでは、Ktai Entry を末永く使って行けるために、cron の設定でした。

 

宣伝:ウェブサイトを作るなら WordPress よりも concrete5!(ブログは WordPress の方がいいです)

 

#