Cron(クーロン)とは、自動でコマンド等を決まった時間に実行させる機能です。Cron設定を使うことで、これまで手動でやっていたものを自動化させることができるようになります。
例えばツイッターなどのつぶやきを定期的に自動で行うときなど正にこれが当てはまります。
今回は僕が推奨しているレンタルサーバーのXserver(エックスサーバー)でCronの設定する方法とphpが上手く走らないときの対処方法を解説していきます。
1.「サーバーパネル」にログインしてCron設定をクリック

エックスサーバーのサーバーパネルからログインして、「ホームページメニュー」の「Cron設定」をクリックします。
2.Cronの設定方法

上のように「Cron設定」の画面が表示されます。
上から
Check list
- 分
- 時間
- 日
- 月
- 曜日
- コマンド
- コメント
と記入していきます。
上の設定はツイッターのつぶやきを毎時3分と、33分に行うという設定をしています。複数回行うときは「3,33」と「,」で区切ってください。特に具体的な指定をしない場合は「*」(アスタリスク)を記入してください。
3.コマンドの設定記述方法
/home/サーバーID/独自ドメイン名/public_html/
コマンドのところにはサーバーから実際に走らせたいphpファイルまでに絶対パスを記述します。
例えばサーバーID名が「renga」で独自ドメイン名が「renga.com」でプログラムファイルが「twitter/tweet.php」という場合は、
/home/renga/renga.com/public_html/twitter/tweet.php
4.phpが動かない時の対策
しかし、エックスサーバーの場合この絶対パスを「コマンド」に記述しただけではphpのプログラムが走らない。エックスサーバーの場合は絶対パスの前にphpのバージョンに応じたコマンドを書く必要があります。
なので現在利用しているphpのバージョンに応じてコマンドを追加します。以下のようなものです。
PHP version list
PHP5.0 = /usr/bin/php5
PHP5.1 = /usr/bin/php5.1
PHP5.2 = /usr/bin/php5.2
PHP5.3 = /usr/bin/php5.3
PHP5.4 = /usr/bin/php5.4
PHP5.5 = /usr/bin/php5.5
今利用しているphpのバージョンを確認

今利用しているphpのバージョンを確認します。左のサイドメニューに「PHP Ver.切り替え」というのがありますので、それをクリックして現在のphpのバージョンを確認してください。
該当のphpのバージョンのコマンドを追加する
phpのバージョンであれば5.3なので、以下のようになります。
/usr/bin/php5.3 /home/renga/renga.com/public_html/twitter/tweet.php
こうするとphpファイルがしっかりと動くようになります。
4.それでもphpが動かない場合の対策1

それでもphpが動かない場合は上記のようにphpファイルの属性(パーミッション)を755に変えてみてください。変更の仕方はwindowsの場合はFFFTPで該当ファイルのを選択し右クリックのメニューで「属性」を選択して変更します。
5.それでもphpが動かない対策2

走らせたいphpファイルがUTF-8になっていない場合は、UTF-8に変更してみてください。僕はよくTeraPadを利用して文字コードを変更しています。
6.Cronが上手く動いているか通知設定について

エックスサーバーは、Cronが上手くいっているかどうかの結果を通知するアドレスの設定をすることができます。こちらにメールアドレスを設定しておけば確認することができます。

上手くいけばこのように実際に処理された通知がきます。一度確認がとれたら、毎度毎度通知されても邪魔な場合もありますので、一度正常に動いたことが確認できればメールアドレスの通知設定は消しておくといいでしょう。
以上、ご参考にCron設定をやってみてください。
コメントを残す