Mac 10.9コンピュータにPHPバージョン5.4がインストールされており、5.6にアップグレードしたいと思います。
ソースファイルをダウンロードして実行してみると、コンパイルとインストール./configure
は成功したようでしたが、以前のバージョンのPHPが。make
make install
/usr/local/bin
/usr/bin
を実行すると、そのphp
場所/usr/bin
は/usr/bin
新しいバージョンを使用したいので使用されます。/usr/local/bin
$PATH
/usr/bin
以前のバージョンのPHPをのバージョンに置き換える必要がありますか/usr/local/bin
?それとも完全に削除する必要がありますか/usr/bin
?
perl
5.6インストールは、および新しいバージョンや他のいくつかのpecl
ヘルパーバイナリ(およびphp-config
含むphpize
)などの他のいくつかの項目もインストールするため、これは少し面倒です。そのうちのいくつか(最後の2つ)はすでに/usr/bin
フォルダにありますが、存在しperl
ませんpecl
。新しいものをすべて移動する必要がありますか/usr/bin
?
最後に、新しい製品をインストールできます/usr/local/bin
が、古い製品をインストールできないのはなぜですか?違いは重要ですか? PHPチームは何らかの理由でそれを移動することにしましたか?それとも、/usr/bin
私のシステムに付属してダウンロードされたアップデートがインストールされているからですか/usr/local/bin
?
場所はphp.ini
これによって異なりますか?
ベストアンサー1
通常、/usr
階層は、オペレーティングシステムのベンダー/サイト管理者が提供するものと、ローカルにインストールされた/usr/local
もの(ネットワーク、ローカルファイルシステム/usr
と比較して複数のシステムで共有されるNFSマウントなど)に使用されます。/usr/local
これは/usr/local
、システムパッケージが破損しないように、通常設定スクリプトがデフォルトでインストールされる理由です。PATH
これがなければならない理由でもある。/usr/local/{bin,sbin}
今後 /usr/{bin,sbin}
。
これを変更するには、以下を実行するだけです(うまく機能するビルドシステムの場合)。
./configure --prefix=/path/to/install/to
以前のPHPバージョンのソースによって多くが異なります。上書きするだけでは、以前のバージョンの一部のファイルが残る可能性があるため、良いアイデアではありません(これがパッケージマネージャを使用するのが良いアイデアTMである理由です)。したがって、古いバージョンを削除するためのきちんとした方法がない場合は、/usr/local
少し良いかもしれません。別のオプションは(間違って)別々の階層を使用する/opt
ことです/opt/php5.6
。