• ベストアンサー

PHPファイルをcronで実行するには…?

ご質問させてください。 私はさ○らインターネットを使っていて、そこで cron設定をしてあるPHPファイルを実行したいを考えています。(このPHPファイルというのはメール送信のファイルです。) いろいろなサイトを探し回って設定の方法を調べたら、実行コマンドに cd /home/○○/www/; ./○○.php もしくは /usr/local/bin/php -f /home/○○/www/○○.php  と記述すれば大丈夫ということなのですが、これが全く起動していないようなのです。 そもそも cron ではPHPを起動できないのでしょうか?ご存知の方がいらっしゃいましたらご教授お願いいたします!

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

  • ベストアンサー
  • asahina02
  • ベストアンサー率47% (95/202)
回答No.1

私は後者の方法でcron起動しています。(さ○らではありませんが) なので出来ないことはないはずです。 単に起動しているが処理に失敗しているということはないでしょうか? エラーが出ている場合、サーバーのログに出力されているかと思います。 また、プログラムの方でログ出力してちゃんと動いているか確認してはどうでしょうか。

961053
質問者

お礼

やりました!!できました! /usr/local/bin/php -f ~  のコマンドです。 実は、asahina02さんがおっしゃったように「単に起動しているが処理に失敗しているということはないでしょうか?」がズバリ的中だったようです。(高島政信レベルの「申し訳ございません……。」) 勉強不足の僕にお付き合いいただきましてホントにありがとうございました!!今後も精進いたします♪

961053
質問者

補足

ご回答ありがとうございます!! エラーログを探してみたのですが、見当たりませんでした。 ちなみに、ウェブ上で表示(http://○○/○○.php とアドレスを打ち込んで)するときちんと表示されて、メールも送信されるんです。 でも cron だとできないんです。と、いうことはパスが間違っているってことなのでしょうか?

その他の回答 (1)

  • kaz33
  • ベストアンサー率60% (20/33)
回答No.2

コマンドラインで $which php 上記コマンドで /usr/local/bin/php という結果が返ってきますか? 別のディレクトリが返ってきたら >/usr/local/bin/php -f /home/○○/www/○○.php  「/usr/local/bin/php」の部分を修正 結果が返ってこなければ、Cronでの実行は不可かと.. Cron以外の方法ではWgetを使う方法があるようです。 (CronでWgetを実行し、PHPファイルを読み込む..) では。

961053
質問者

お礼

おかげさまで何とか実行可能になりました!具体的な代案をいただきましてありがとうございました♪(きっと今後の役にたつテクニックだと思います!)

961053
質問者

補足

ご回答ありがとうございます!! $which php と入力して実行すると、「指定されたコマンドは実行することができません。」と返ってきました。 多分さ○ら側でコントロールパネルにして、簡単に実行できるようにしているようです。最悪の場合は Wget で実行してみたいのですが、そもそも Wget は「perl」とかのプログラミング言語で記述するものなのでしょうか?