WebサーバーおよびCLIバージョンで実行されるphpは、同じphp.iniファイルを使用していません。コマンドphp --ini
を実行すると、これが表示されます
Configuration File (php.ini) Path: C:\Windows
Loaded Configuration File: C:\wamp\bin\php\php5.3.8\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
私のWebバージョンではC:\wamp\bin\Apache\Apache2.2.21\bin\php.ini
のphp.iniを使用しています。これはおそらく、湿地を使用している人々にとって非常に一般的です。
ロードされた設定ファイルをC:\wamp\bin\Apache\Apache2.2.21\bin\php.ini
から読み取るように変更するには、2つの異なるphp.iniバージョンを維持する必要はありませんか?
http://php.net/configuration.file ごと:
php.iniは、次の場所で(順番に)検索されます。
- SAPIモジュール固有の場所(Apache 2のPHPIniDirディレクティブ、CGIおよびCLIの-cコマンドラインオプション、NSAPIのphp_iniパラメーター、THTTPDのPHP_INI_PATH環境変数)
- PHPRC環境変数。 PHP 5.2.0の前に、これは以下に記載されているレジストリキーの後にチェックされました。
- PHP 5.2.0の時点で、php.iniファイルの場所はPHPのさまざまなバージョンに設定できます。次のレジストリキーは順番に検査されます。
- [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\xyz]、[HKEY_LOCAL_MACHINE\SOFTWARE\PHP\xy]および[HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x]、x、y、zはPHP major、マイナーバージョンとリリースバージョン:これらのキーのいずれかにIniFilePathの値がある場合、最初に見つかったものがphp.iniの場所として使用されます(Windowsのみ)。
- [HKEY_LOCAL_MACHINE\SOFTWARE\PHP]、IniFilePathの値(Windowsのみ)。
- 現在の作業ディレクトリ(CLIを除く)。
- Webサーバーのディレクトリ(SAPIモジュールの場合)、またはPHP(Windowsの場合)のディレクトリ)。
- Windowsディレクトリ(C:\ windowsまたはC:\ winnt)(Windowsの場合)、または--with-config-file-pathコンパイル時オプション。
CLIの場合、スクリプトを実行するアカウントに$PHPRC
環境変数を設定するか、異なる--with-config-file-path
構成設定でPHP 。
PHPを呼び出すときに-c
オプションを指定することにより、実行ごとにphp.ini検索ディレクトリをオーバーライドすることもできます。
> php --help 使用法:php [オプション] [-f] [-] [args ...] ... -c |このディレクトリでphp.iniファイルを探します
環境変数PHPRCを指定して、Apacheが使用するものと同じphp.iniを指すようにしました。
export PHPRC=/etc/php5/Apache2/php.ini
または、CLIが開始されるたびにインポートするために$ HOME/.bashrcに配置します
私は、あなたの質問に正確に答えようと約3時間を費やしました。できませんでした。あきらめて、そのphp.iniをC:\ Windowsにコピーし、ENV変数「PHPRC」をC:\ Windows(およびhttpd.conf内)に変更しました。そのようにして、私のCLI phpとApach php eの両方が同じファイルを使用しています。この変更を行うまで、私の人生でphp.iniにロードしたモジュールを表示する「php -m」を取得できませんでした...
両側でphpinfo()
関数を実行してみてください
WebサーバーとCLIを使用して、php.ini
両側のファイル
これらのファイルのみを維持します