
エックスサーバー
で PHP を Cron で動かしてみたけど、やっぱり一発じゃ動かなかった。
まずは、ダメダメな設定。
分 10
時間 *
日 *
月 *
曜日 *
コマンド /home/ユーザー名/ドメイン/public_html/cron.php
こんな感じで設定してみたけどダメ。
今にしてみれば「コマンド」に、単に PHP ファイルのパスを指定しているだけで、コマンドを指定していないから動くはずもないんだけど・・。
っで、「コマンド」にちゃんとコマンドを指定してあげる。コマンドは、
PHP4 で動かす場合 → /usr/bin/php
PHP5.1 で動かす場合 → /usr/bin/php5
PHP5.2 で動かす場合 → /usr/bin/php5.2
PHP5.3 で動かす場合 → /usr/bin/php5.3
です。このコマンドは、エックスサーバー
の「サーバーパネル > サーバー情報 > コマンドパス一覧」で確認する事ができます。
なので、
分 10
時間 *
日 *
月 *
曜日 *
コマンド /usr/bin/php5.3 /usr/bin/php5.3 /home/ユーザー名/ドメイン/public_html/cron.php
というように、「コマンド」「PHP ファイルの絶対パス」としたら、ちゃんと動きました。(コマンドとファイルパスの間は半角スペース)
その他にした設定は、Cron で動かす PHP ファイルのパーミッションを 755 に変更したことくらいで、いろいろググると、cron.php の先頭に、hash-bang(#!/usr/bin/php5 みたいなやつ)を追加するとありましたが、特になにも追加せずに動いてます。
それでも上手く動かない場合は、
cron.php を UTF-8 で保存する。
改行コードを LF に変更する。
あたりを確認するとハッピーになれるかも。
ちなみに、Cron 設定の「分」をカンマで区切れば 5 分毎とか 10 分毎に Cron 動かせます。
// 5 分毎
分 3,8,13,18,23,28,33,38,43,48,53,58
// 10 分毎
分 3,13,23,33,43,53
また、クーロン結果の通知アドレスを設定しておくと、Cron の実行結果がメールで送られてきます。Cron で実行する PHP ファイルの echo で出力している内容が、メールに記載されてきますのでわかりやすいですね。
それでは、じゃんじゃん Cron しちゃってください。
参考URL:xserver で cron | trash-area.com
でわでわ。
[…] の Cron で PHP を動かしてみた http://dev.ontheroad.jp/archives/6038 PHP4 で動かす場合 → /usr/bin/php PHP5.1 で動かす場合 → /usr/bin/php5 […]
[…] http://dev.ontheroad.jp/archives/6038 […]
助かりました!!
マニュアルに書いてあるコマンドではダメだったので色々調べて辿り着きました。
ちゃんとマニュアル修正して欲しいですね。
何はともあれ、ありがとうございますm(_ _)m
こんばんは。お役に立てたようで良かったです :-)
[…] XSERVER の Cron で PHP を動かしてみた http://dev.ontheroad.jp/archives/6038 PHP4 で動かす場合 → /usr/bin/php PHP5.1 で動かす場合 → /usr/bin/php5 PHP5.2 で動かす場合 → /usr/bin/php5.2 PHP5.3 で動かす […]