2

cron ジョブを介して php ファイルを実行しようとしています。ファイルを手動で実行すると正常に動作しますが、cron ジョブで実行すると、次のエラーが発生します。

Warning: include(classes/EmailAddressValidator.php): failed to open stream: No such file or directory in /var/www/onecent_dev/classes/MiscFunctions.php on line 3

Warning: include(): Failed opening 'classes/EmailAddressValidator.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/onecent_dev/classes/MiscFunctions.php on line 3

MiscFunctions.php と EmailAddressValidator.php は両方とも既存のファイルであり、適切な場所にあります。

ありがとう

4

2 に答える 2

11

include_path が解決しているようです。スクリプトがあるディレクトリではなく、たまたま現在のディレクトリが設定されているcronに。最初に crontab を cd に編集してみてください:

0 * * * * cd /path/to/script && php script.php

または include_path を明示的に指定します。

0 * * * * php -d include_path=/path/to/script script.php
于 2012-04-17T15:46:36.347 に答える
0

この質問を参照してください: PHP: Require path does not work for cron job?

include_path には、実行中のスクリプトのパスが含まれていません。

于 2012-04-17T15:46:30.040 に答える