/ usr / binのPHPシステムバイナリを独自のコンパイル済みバイナリに置き換える必要がありますか? [閉鎖]

/ usr / binのPHPシステムバイナリを独自のコンパイル済みバイナリに置き換える必要がありますか? [閉鎖]

Mac 10.9コンピュータにPHPバージョン5.4がインストールされており、5.6にアップグレードしたいと思います。

ソースファイルをダウンロードして実行してみると、コンパイルとインストール./configureは成功したようでしたが、以前のバージョンのPHPが。makemake install/usr/local/bin/usr/bin

を実行すると、そのphp場所/usr/bin/usr/bin新しいバージョンを使用したいので使用されます。/usr/local/bin$PATH

/usr/bin以前のバージョンのPHPをのバージョンに置き換える必要がありますか/usr/local/bin?それとも完全に削除する必要がありますか/usr/bin

perl5.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

おすすめ記事