質問: ``` PHP Warning: Unexpected character in input: ' ' (ASCII=2) state=0 in /opt/php-5.4.16/bin/php on line 2849 PHP Parse error: syntax error, unexpected ' ' (T_STRING) in /opt/php-5.4.16/bin/php on line 2849 ``` X-Serverのクローン機能で下記のコマンドを実行すると上記のエラーでました。 ``` php /usr/bin/php5.4 /home/XXX/XXX.com/public_html/test/project/artisan schedule:run ``` 言語はPHPで、Laravel5.6を使用しています。 PHPのバージョンは7.2.17を使用していますが、クローンのコマンド欄で`php --version`と実行すると、なぜか5.4(CLI)でした。 最初は7.2(CLI)のパスでコマンドを実行していたのですが、ディレクトリが見つからないみたいでだめでした。5.4にすると上記のエラーがでました。 どういう意味のエラーなのかさえわからないので対応に困っています。 わかる方、対処法、またはこの記事に書いてあるなど教えていただければ助かります。 よろしくお願いします。
回答: laravel 5.6はPHP7.1.3以上がサーバ要件として求められています。 XSERVERはコマンドパスを公開していますので、こちらから対象のコマンドパスを選んでCronに設定してください。 ``` /usr/bin/php7.2 /home/XXX/XXX.com/public_html/test/project/artisan schedule:run ``` ※ご利用のサーバ情報などはXサーバー側のパネル等から確認できると思います。 ===追記==== ``` php /usr/bin/php7.2 ``` とつなげて書く必要は有りません。 ``` /usr/bin/php7.2 ``` とこれだけでコマンドが実行できます。 解説 phpコマンドに限らずあらゆるコマンドは基本的に/usr/bin/以下に実体が存在し、 XサーバーはPHPのバージョンごとのコマンドはそれぞれ実体を直接利用してくださいといっています。 なのでphpコマンドを使わず直接/usr/bin以下の対象のファイルをコマンドとして実行可能です。