0

最近、php.ini ファイルの「include_path」変数を変更しました。あなたが尋ねる前に、Apache サービスを再起動しました。この変更は、Web ブラウザーからアクセスするすべてのページで機能します。

問題は、cron ジョブがその変更を考慮していないように見えることです。cron ジョブ内で phpinfo() を実行すると、Web サーバーと同じ php.ini ファイルが使用され、それは私が変更したものですが、「include_path」の横の値は古いものです。

では、crontab を「再起動」する方法はありますか? それとも別の問題があるのでしょうか?

4

2 に答える 2

1

いくつかのシステムでは、Web と CLI に個別の php.ini ファイルを使用しています。そのファイルも変更する必要があります:コマンドラインで使用される php.ini ファイルを見つけるには?

このファイルを見つける最も簡単な方法は、コマンド ラインでこれを実行することです: php --iniを実行すると、次のような出力が得られます。

user@computer:~$ php --ini
Configuration File (php.ini) Path: /etc/php5/cli
Loaded Configuration File:         /etc/php5/cli/php.ini
Scan for additional .ini files in: /etc/php5/cli/conf.d

「Loaded Configuration File:」と表示されているものは、変更を追加する必要がある場所です。

編集:別のオプションは、CRON スクリプトでset_include_path()を使用して、実行時に変更を行うことです。

于 2012-09-04T17:57:44.847 に答える
0

通常、PHP には 2 つの .ini ファイルがあります。1 つは Web サーバー内 (SAPI) 用、もう 1 つはコマンドライン (CLI) 用です。SAPI のみを変更した場合、CLI から実行されているもの (例: cron ジョブ) は変更を認識しません。

コマンドラインでaphp -iを実行して、そのモードで PHP が ini ファイルを探している場所を確認します。

于 2012-09-04T17:58:15.657 に答える