web-dev-qa-db-ja.com

PHPのINIウィンドウのパスを変更する方法

私はphpをダウンロードし、それを自分のパスに追加し、opensslを有効にしようとしました

php --iniは、構成ファイルがc:\ windowsであり、そこには何もなかったことを教えてくれます。phpをc/windowsにコピーしたくありません。

Phpフォルダーを指すようにこれを変更するにはどうすればよいですか?

12
Guest

PHPをc:\windowsフォルダーの近くに置く必要はありません。

あなたがそうするなら、あなたがPHPを新しいバージョンにアップグレードするとき、あなたを台無しにするのに役立つでしょう。

PHPがインストールされているフォルダに移動してphp --iniを実行すると、現在のフォルダからphp.iniファイルが読み込まれます。

D:\wamp\bin\php\php5.5.12>php --ini
Configuration File (php.ini) Path: C:\Windows
Loaded Configuration File:         D:\wamp\bin\php\php5.5.12\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

PHPインストールフォルダーをWindowsのPATHに含めることも悪い考えです。

必要なのは、使用しているコマンドウィンドウの期間中、PATHをセットアップし、それをWindows PATHに既にあるフォルダーの1つに配置する小さなバッチファイルだけです。

したがって、PHP= C:\phpにインストールしたと仮定すると、これはバッチファイルです。

phppath.cmd

PATH=%PATH%;C:\php
php --ini
php -v

そして、コマンドウィンドウを開いていくつかのPHPコードを実行すると、環境が構成されます。このバッチファイルに他の要素を追加することもできます。 Composerなどのように、環境に追加された他のもの.

10
RiggsFolly

ドキュメントによると:

PHPの起動時に構成ファイル(php.ini)が読み取られます。PHPのサーバーモジュールバージョンの場合、これはWebサーバーの起動時に1回だけ発生します。CGIおよびCLIバージョンの場合、すべての呼び出しで発生します。

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メジャー、マイナー、リリースバージョンです。これらのキーのいずれかの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コンパイル時オプション。

PHPRC環境変数またはレジストリキー[HKEY_LOCAL_MACHINE\SOFTWARE\PHP]を試してください。

4
Cornelius

私は何事にも成功しなかった。 Apache httpd.conf、php.iniおよびその他のいくつかの試みを変更し、常にロードされた構成ファイル-(なし)をもたらしました。最後に、すべてのファイルをphpディレクトリからC:\ Program Files(x86)\ Apache Software Foundation\Apache2.2\binにコピーすると、すべてが機能し始めました。完璧に。残念ながらそれは完璧な解決策ではありませんが、うまくいきました。

0
Gunther