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


12

私はPHPをダウンロードし、私のパスに追加し、opensslを有効にしようとしています

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

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

回答:


10

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

これを行うと、PHPを新しいバージョンにアップグレードするときに混乱するだけです。

PHPがインストールされているフォルダーにCDを実行する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など、環境に他のものを追加する必要がある場合は、このバッチファイルに他のものを追加することもできます。


はい!これは私のために働く。PHP.iniは、同じフォルダーにあるPHP.exeの方が優れているため、Web PHPとCLI PHPは同じPHP.iniを参照できます。
スコットチュー

@ScottChu実際はそうではありませんが、2つの異なる環境であり、実際には両方に異なる設定が必要になることがよくあります。
リグスフォリー

4

ドキュメントによると:

設定ファイル(php.ini)は、PHPの起動時に読み込まれます。サーバーモジュールバージョンの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]


0

私はすべて成功しなかった。apache httpd.conf、php.ini、およびその他のいくつかの試みを変更しましたが、常に設定ファイルが読み込まれました-(なし)。最後に、すべてのファイルをphpディレクトリからディレクトリC:\ Program Files(x86)\ Apache Software Foundation \ Apache2.2 \ binにコピーし、すべてが機能し始めました。完璧に。残念ながら、それは完璧なソリューションではありませんが、うまくいきました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.