2017-01-20 3 views
0

global $_lib, $_SETUP;をcrontabに含めることはできますか?CrontabのグローバルライブラリPHP

私はインターネットディレクトリ(/internet/mycrontab.php)のphpファイルにcronjobを書き込みましたが、$_lib['db']->db_fetch_object($query)のように$ _Libを使用するとcrontabがエラーをスローするようです。

URL www.myweb.dom/internet/mycrontab.phpにURLを直接入力すると、$ _Libがうまく動作します。また、$ _Libをハード_コードsysntax(プライマリ)を使用して$ _Libを削除すると正常に動作します。 )。

global $_lib, $_SETUP;を含めることができる場合は、正しく行うにはどうすればよいですか?

多くのご協力ありがとうございます。

答えて

1

問題は、crontab環境とWebアプリケーション環境が異なることです。

cronjobはphp-moduleで実行され、appはapache(またはNGINXなど)のPHPモジュールで実行されます。

おそらく、あなたのライブラリをcrontabファイルに含めると評価するべきです。

include "/path/to/your/library.php"; 
$_lib = "whatever"; 
$_SETUP = "whatever"; 

私が提案できるコードを正しく見ていない限り、

+0

通常は、パスを含める必要なしに 'global $ _lib、$ _SETUP'を宣言するだけです。私は道も含めますか?お返事ありがとうございました。 –

+0

を試してください。おそらくphp-cliのconfファイルはあなたのアプリケーションのものと異なっているでしょう。 – Napolux

+0

clear pathを含めることによって動作していても、 'global $ _lib、$ _SETUP'を使うだけで簡単にするのは興味があります。 crontabは私たちのサーバーのどこにでもあります(多くのweb/app/vhost)。それは私が考えていることですもしそれがcrontab設定ファイルの何かを設定することによって助けられるならば。 –