アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になっています◎初めての投稿になります。

cronを使って毎日決まった時間にphpプログラムを実行させようとしているんですが、うまくいかずに困っています。。。
phpプログラムは、ネット上よりxmlデータを取得して、MySQLに格納するものになっています。

あまり詳しくないので知識不足な質問内容になってしまいますがよろしくお願いします。

crontab -e で書き込んでいて、多分、パスの部分が原因だと思います。。
0 5 * * * /Applications/MAMP/htdocs/hoge.php
0 5 * * * /usr/bin/wget http://localhost88/hoge.php
の両方で試したんですがうまくいきません。。
というのも、php開発環境を作るときに楽に行うためにMAMPを使用して、実行したいphpファイルが /Applications/MAMP/htdocs/hoge.phpにあるのでパスの書き方がわからない状態です。
やはりMAMPで開発環境を作ったのが間違いだったのでしょうか。。。?
できれば今の開発環境のまま制作を続けていきたいです。
よろしくお願いします。

A 回答 (4件)

質問です。


localhost88
この記述は合っていますか?
localhost:88じゃないですか?
    • good
    • 0
この回答へのお礼

すいません、入力ミスでした。。
localhost:88です。

お礼日時:2008/10/10 21:58

>で試してみたんですがうまくいきませんでした。



何がどのようにうまくいかなかったのでしょう?
通常であれば/var/log/cronにエラーメッセージが吐かれているのでエラーメッセージを転記してみてください。

念のために確認しますが、「Path」というのはphpへのフルパスのことですがご自身の環境に合わせて変更されましたか?

また、通常であればphpはパスが通っているはずなので以下のコマンドが有効か試してみては?
php /Applications/MAMP/htdocs/hoge.php

上記が動作すればそのままcronを変更すれば良い。
エラーが返ってくるようであればエラーを明示しなければ回答はできません。

この回答への補足

エラーメッセージは「No such file or directory」と返ってきます。やはりパスが違うのでしょうか?
50 21 * * * /Applications/MAMP/conf/php /Applications/MAMP/htdocs/hoge.php 
としてみると
/bin/sh: line 1: /Applications/MAMP/conf/php5: is a directory
と返ってきてしまいます。。
phpへのフルパスというのはphpinfo()で確認すれば良いのでしょうか?

補足日時:2008/10/15 21:44
    • good
    • 0

一部訂正します。




0 5 * * * Path/php /htdocs/hoge.php


0 5 * * * Path/php /Applications/MAMP/htdocs/hoge.php

-----------------------
cronでphpを解釈させるにはMMAPではなくphpでないと。

0 5 * * * Path/php /htdocs/hoge.php

って感じ。
phpの中身がわからないのでオプションなどは適時調べて下さい

この回答への補足

回答ありがとうございます。
0 5 * * * Path/php /Applications/MAMP/htdocs/hoge.php
で試してみたんですがうまくいきませんでした。。

>phpの中身がわからないのでオプションなどは随時調べて下さい
調べ方を教えていただけると有り難いです◎お願いします。

補足日時:2008/10/10 22:03
    • good
    • 0

cronでphpを解釈させるにはMMAPではなくphpでないと。



0 5 * * * Path/php /htdocs/hoge.php

って感じ。
phpの中身がわからないのでオプションなどは適時調べて下さい。

この回答への補足

補足質問が何度も被ってしまい申し訳ないです。。
0 3 * * * php /Applications/MAMP/htdocs/hoge.php
で試してみたところ、エラーメッセージで
Warning: main(DB.php): failed to open stream: No such file or directory in /Applications/MAMP/htdocs/hoge.php on line 3

Fatal error: main(): Failed opening required 'DB.php' (include_path='.:') in /Applications/MAMP/htdocs/hoge.php on line 3
と返ってきました。
hoge.php内には、MySQLデータベースにweb上から取ってきたXMLデータを格納するプログラミングが書かれています。

また、内容が
<?
print("Hello, world!");
?>
のtest.phpファイルを作って
0 3 * * * php /Applicatiions/MAMP/htdocs/test.php
を試し、ターミナルで
$ mail
と入れたら
Hello, world!が表示されました。

補足日時:2008/10/16 03:00
    • good
    • 0
この回答へのお礼

無事解決しました◎
質問しておきながら長い間返信してなくてすいませんでした。
今回、解決できたこととても嬉しく思います。大変助かりました。

初歩的なことになるかもしれませんが、デフォルトの/usr/bin/phpを/usr/bin/php_originalに変更し、新たに/Applications/MAMP/bin/php5/bin/phpを/usr/bin/phpとしたら解決しました。pearも同様に変更しました。

大変お世話になりました。
本当にありがとうございました。

お礼日時:2008/10/20 06:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!