1

私はphpを使用して毎日XMLファイルを生成する機能を持っています。

これはブラウザでは正常に機能しますが、cronジョブでは機能しません。

cronは、必要な1回のエラーと致命的なエラーを表示し、cronジョブの実行を停止します。含まれているファイルには、他のファイルも含まれています。

私が得ているエラーは、

警告:require_once(/common/configs/config_local.inc.php)[function.require-once]:ストリームを開くことができませんでした:/home/wwwsite/public_html/sitename/common/configs/config.incにそのようなファイルまたはディレクトリはありません281行目の.php

致命的なエラー:require_once()[function.require]:必要な'/common/configs/config_local.inc.php'(include_path ='。:/ usr / lib / php:/ usr / local / 281行目の/home/wwwsite/public_html/sitename/common/configs/config.inc.phpのlib/php')

この問題の解決策を持っている人はいますか?

4

2 に答える 2

3

'/ common / configs/...'が見つからないことを示しています。最初の文字が'/'である絶対パスに注意してください。

定義している場所からの相対パスにするか、そこにプレフィックスを追加して('/ home / wwwsite / public_html / sitename /')、変数($ sitebase ='/ home / wwwsite)を使用することもできます。 / public_html / sitename /';)そしてインクルードファイル名の前にプレフィックスを付けます。

Webサイトでは機能しているが、コマンドラインでは機能していない理由は、いくつかの方法の1つである可能性があります。最も明白なのは、CLI(コマンドラインインターフェイス)のphp.iniinclude_pathに「。」が含まれていないことです。現在のディレクトリからチェックします。デフォルトでそれがないという正当な理由もあります。もう1つの方法は、コードが.... / sitename /ディレクトリをinclude_pathに配置するか、ファイルが自動的に含まれるように設定することです。

于 2012-09-03T12:05:04.413 に答える
1

私は解決策を持っています、

yoursitename / yourfilename.php> / dev / null 2>&1をカールします

エラーなしで設定したので、これでcronジョブが実行されました

于 2012-09-04T04:02:18.287 に答える