シェルコマンドでphpを実行したい!

解決済みの質問

シェルコマンドでphpを実行したい!

 さくらインターネットでcron設定を使って月末になると起動するphpを読み込もうとしたいのですが、どうやっても上手くいきません。
いろいろと参考になるサイトはあるのですが、動かない理由がわからないのでどなたか教えてください。

 まず、cron設定で設定しているシェルのファイルが置いてあるパスに間違いはありません。

 次にシェルファイルに書いてあるコードは以下です。

#!/bin/sh
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
cd /home/自分のID/www/自分で作ったフォルダ/; ./自分で作ったフォルダ/phpファイル

という風に書いてあります。

ところが、時間になるとこれが実行されず、
サーバーよりエラーメールが届きます。

[not found]と一言。

…最初、シェルファイルの階層が間違っているかと思ったのですが、
どう見てもあってますし…中身が問題なのかなぁ、と考えます。

何かわかれば、是非教えてください。
お願いします。

投稿日時 - 2007-10-30 22:36:19

QNo.3475874

すぐに回答ほしいです

質問者が選んだベストアンサー

#!/bin/sh
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
cd /home/自分のID/www/自分で作ったフォルダ/
php phpファイル

上記のtypoじゃないすかね。
命令終了はセミコロンじゃないです。
cronでphpファイルを起動させるだけなら別に.shファイル使わなくても
直接crontabにphp起動コードを書けば良いと思いますよ。

0 0 1 * * php /home/自分のID/www/自分で作ったフォルダ/phpファイル


>PATH
php実体へのパスが通っていないパターンを考慮すれば別に記述があっても不自然ではないと思いますが・・・

投稿日時 - 2007-10-31 10:40:41

お礼

できました!wp_さん!!
直接、ここで書けばよかったんですね!
てっきりシェルコマンドを使わないとできないものだ、と
認識していました。
もう少し勉強して知識を深めていきますね。

投稿日時 - 2007-10-31 17:21:06

ANo.4

wp_

2人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

ベストアンサー以外の回答(4件中 1~4件目)

なんか盛り上がってますね。
phpコマンドが通る場合は
#!/bin/sh
php /home/...../phpファイル

で良いと思います。
しかし、CLIインストールされていない場合もあると思います。

インターネット経由でwgetやcurl等でたたくという方法もありますよ
wget http://localhost/ファイル名

参考まで。

投稿日時 - 2007-10-31 14:30:27

お礼

ありがとうございます!
いろいろ皆さんの意見を見ていて考えていたらできました!!

投稿日時 - 2007-10-31 17:21:55

ANo.3

>[not found]と一言。
当たり前。
>cd /home/自分のID/​www/​自分で作ったフォルダ/; ./自分で作ったフォルダ/phpファイル
まずなんで「cd」(ディレクトリ移動)?
しかもディレクトリですらない「phpファイル」にディレクトリ移動ができると思いますか?
>PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
しかもこの無駄なパス通しはなんのため?
シェルスクリプト以前にコマンドの使い方を勉強すべき。

投稿日時 - 2007-10-30 23:10:38

お礼

ありがとうございます。
サクラインターネットに関する記事を参考にしながら
ソースを書いていたのでそこから探っていたんです。
しかし、いろいろ指摘を受けてわかりました。

投稿日時 - 2007-10-31 17:19:54

ANo.2

phpはCLIで動くようになっていますか?
なっているなら、CLIで動かすファイルの最初に
「#!/usr/local/bin/php」みたいに、CLIのphpがインストールしている場所を指定して、実行権を付けていれば実行できるはずです。

投稿日時 - 2007-10-30 22:54:56

お礼

ありがとうございます。
何とか動かすことができたようです。
CLIというをもう少し調べてみますね。

投稿日時 - 2007-10-31 17:18:48

php ./自分で作ったフォルダ/phpファイル

みたいに、ちゃんとコマンドを起動してファイルを渡さなきゃ。ファイルを
ダブルクリックしたらOSが勝手にそれらしいコマンドを起動してくれるわけ
じゃないんだから。

投稿日時 - 2007-10-30 22:48:01

お礼

ありがとうございます。
初めて触ったところでいろいろと自分なりにも
調べてみたのですが、理解ができませんでした。

投稿日時 - 2007-10-31 17:17:41

あわせてチェックしたい
  • #!/usr/local/bin/perlとしたい ...
  • #!/bin/bash のラインでエラー発生 ...
  • #!/usr/bin/perl -- ...
PR
【回答募集中】花粉にひと言、物申す![ 詳細 ]

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら