2011年10月29日土曜日

エックスサーバーのcronでphp5が動かない?

エックスサーバーを使ってcronを使おうとした時のこと。
最初は自分の開発環境と同じように書いてみました。
0分、30分、50分にcron.phpを実行するという感じです。cron.phpはphp5とします。

分:0,30,50
時:*
日:*
月:*
曜日:*
コマンド:php /home/ユーザーID/ドメイン/public_html/cron.php

当然というか予想通りと言うか・・動きません。
この手の設定は調べながらやった方が確実です。

そこで、ザックリと調べて得た答えが


/usr/bin/php5 /home/ユーザー名/ドメイン/public_html/cron.php


という書き方。
コマンドのphpはフルパスで指定するのは当然なのかな?開発環境ではパスを通してたので・・
エックスサーバーでphp5は使えるけど、cronの時はphp5を指定しないとphp4として動くとか何とかって話でした。

なるほど・・と思い早速修正。
それでも動かない・・・

途方にくれながら管理画面をカチカチと見ていて、サーバー管理画面トップの「サーバー情報」に入ると、「コマンドパス一覧」という項目があったので見てみることに。
それで解決しました。

php5 というコマンドはもう無くなっていて、php4、php、php5.2、php5.3という4パターンあることが判明。
phpコマンドを実行するとphp5.1で走るようです。
今回は5.3で実行することにしました。


/usr/bin/php5.3 /home/ユーザー名/ドメイン/public_html/cron.php


これでちゃんと動きました。
試用期間中は確認メールが届かないようなので、処理がちゃんと走ったかどうかは実行結果を見に行かないといけません。

2 件のコメント:

  1. ありがとうございました。助かりました。

    返信削除
    返信
    1. お役に立ててうれしいです(^^) こんな古い記事にコメントしていただきありがとうございますm(__)m

      削除