CrontabでPHPスクリプトにエラーが発生し、端末で実行してもエラーが発生しないのはなぜですか?

CrontabでPHPスクリプトにエラーが発生し、端末で実行してもエラーが発生しないのはなぜですか?

PHPファイルでCrontabを実行する際にいくつかの問題があります。

私は6ヶ月以上Crontabで同じPHPスクリプトを実行してきましたが、数日前に奇妙なことに、コードの正しい実行が中断されました。 Crontabは動作しますが、スクリプトでエラーが発生します。もう一つの興味深い点は、同じスクリプトがSSH端末でエラーなく実行されることです。

ここで何が問題になるべきですか? SSH端末と同じ設定で実行するようにCrontabを設定する方法はありますか?

ベストアンサー1

crontabではなくコマンドラインからスクリプトを実行する最も一般的な理由は、スクリプトが環境変数に依存するためです。 Crontabはいくつかの環境変数のみを設定します。通常HOME、、、(に設定)、およびUSER(システムのデフォルトに設定)のみを設定します。さらに必要な場合は、crontabファイルで定義するか、コマンドからインポートする必要があります。SHELL/bin/shPATH~/.profile

たぶん2つのバージョンのPHPがインストールされているかもしれません。 1つはコマンドラインに最初に$PATH、もう1つはシステムの基本バージョンに最初にインストールされ、システムの$PATHデフォルトPHPが最近変更されました。しかし、どのようなエラーが発生したのか教えてくれなかったため、経験に基づく推測異常をすることは不可能です。

おすすめ記事