[ロリポップ]cronからphpを実行しようとして”php: command not found”エラーが出るときの対処法

ロリポップのレンタルサーバではcronによるシェルスクリプトの定期実行が可能なのですが、スクリプトからphpを実行してみたところ、以下のエラーが発生しました。

test.sh line 2: php: command not found



このとき実行したスクリプトは下記のとおりです。

#!/bin/bash
php -v >  /path/to/log/result.txt 2>&1




このような場合は、以下のような形にすればOKっぽいです。

#!/bin/sh
/usr/local/php5.6/bin/php -v >  /path/to/log/result.txt 2>&1



ポイントは2点でです。

1点目は、phpにパスが通ってないので、フルパスでの指定が必要なようです。
使いたいPHPのバージョンによって、下記のパスを指定します。

/usr/local/php5.3/bin/php
/usr/local/php5.5/bin/php
/usr/local/php5.6/bin/php



ちなみに確認してみたところ、各PHPバージョンのマイナーバージョンとビルドは下記のとおりでした。

PHP 5.3.29 (cli) (built: Sep  1 2014 16:01:39)
PHP 5.5.25 (cli) (built: May 18 2015 13:14:35)
PHP 5.6.13 (cli) (built: Sep 15 2015 18:22:33)



2点目は、1行目のシェル指定です。
#!/bin/bashを指定してダメな場合は、#!/bin/shで試してみてください。

関連記事

コメントを残す

メールアドレスが公開されることはありません。