私は特定のシステムで契約の束を更新するcronジョブを設定しました。ブラウザでPHPスクリプトを実行すると、すべて正常に動作しますが、cronjobがトリックを行う必要がある場合、失敗します。私はcronjobs(私はDirectAdminでそれらを設定することができます)と多くの経験を持っていないので、私はちょっとこれに固執しています。Cronjobは実行するコードを理解していませんか?
私のPHPスクリプトにはいくつかのクラスにいくつかのインクルードが含まれています。これらは正しく動作します(自分でメールを自分宛に送信してテストしました)。ベースクラスが含まれているとき、私はオートローディングを扱うクラスを持っています。私はClass :: GetInstance()のような何かをするとき、それは失敗します。
私のcronジョブは、次のようになります。
* * * * * /usr/local/bin/php /home/username/domains/domain/public_html/path/to/script.php
私はこの問題を解決するために何ができますか?おそらくPHP経由で実行するのではなく、ブラウザなどで実行しますか?これは愚かな質問では申し訳ありませんが、これはわかりません)
コマンドラインから実行するとスクリプトは実行されますか? – dSquared
'/ usr/local/bin/php/home/username/domains/domain/public_html/path/to/script.php'は通常のシェルから呼び出されたときに動作しますか?チェックするポイントは、どのユーザーがこれを実行するために使用されていますか?環境設定は正しく行われていますか?パーミッションはどうですか? – Yahia
私はあまりCL男ではありません。どうすればこれを適切にテストできますか? @ Yahia、私は確信していない、私はそのWebuser hostingaccountからだと思いますか?仕事はそこに置かれているからですか? – Ben