質問: `FuelPHP`のタスクが`Linux`上で動かないです。 `Linux Mint18`を利用しています。 `Xampp`を利用しています。 コマンドラインからは、`FuelPHP`の`tasks`フォルダにもともと入っている `rebots.php`を実行出来るのですが、 `php /opt/lampp/xxxx_project/fuelphp/oil refine rebots` (ロボットの絵が出ます。) `FuelPHP`のコントローラー上からは、以下が実行されません (`mac`からですと実行出来ます。) `exec('php /opt/lampp/xxxx_project/fuelphp/oil refine rebots');` もし、原因が分かる方、もしくはヒント頂けるようでしたら よろしくお願い致します。 追記です。以下は正常にLinux環境で実行出来ました。 ``` exec('ls', $out); Log::debug(print_r( $out, true )); ```
回答: `exec`内で`php`とそのままにしていたことが問題でした。`/usr/bin/php`が必要でした。 (`mac`では`php`のままで動きます。) `Linux`の環境では、`exec`内の`php`を絶対パスにしないといけないようでした。 `exec('/usr/bin/php /opt/lampp/xxxx_project/fuelphp/oil refine rebots');` とすると、きちんと動きました。 `/usr/bin/`の部分につきましては、`PHP_BINDIR`にて取得するようにしました。 `exec(PHP_BINDIR.'/php /opt/lampp/xxxx_project/fuelphp/oil refine rebots');`