Mac OS XでPHPをアップグレードするにはどうすればよいですか?


99

これは非常に難解な質問だと思いますが、奇妙なことに、この問題は十分に文書化されていません。

PHPをアップグレードしたいのですが、いくつか問題があります。

  • 組み込みのパッケージマネージャーはありません。MacPortsはPHP自体をインストールしなかったため、インストールされたパッケージとしてphpを認識しません。
  • 実行中locate phpは、おそらく多くの依存関係があることを示しています。
  • PHPがOSに含まれているため、どのようにインストールされたかはわかりません。そのため、ソースからインストールする必要があるのか​​、バイナリをダウンロードする必要があるのか​​わかりません。また、依存関係を壊さずに以前のバージョンをアンインストールする適切な方法もわかりません。

Leopardで実行しています。Appleがあなたにアップグレードすることを望まないような気がします。Snow Leopardとアップグレードを購入することで、この問題(および将来の問題)は解決しますか?


回答:


90

Marc LiyanageのPHPパッケージを調べてみてください。これは、ダブルクリックできる素晴らしいMac OS Xインストーラパッケージで提供されます。彼はそれをかなり最新に保ちます。

http://php-osx.liip.ch/

また、Snow Leopardにアップグレードしても、将来のPHPの更新には役立ちませんが、おそらく新しいバージョンのPHPが提供されます。OS X 10.6.2を実行していますが、PHP 5.3.0を使用しています。


ありがとうございました!!このプロセスはもっと難しくなるだろうと緊張しました。
Gavin

10
このパッケージ Macの元のPHPバージョンを上書きしないため、そのままでは機能しませんPATH。新しいディレクトリをに追加する必要があります。動作させるための手順はそのページにあります(私は初めてそれを見逃すほど愚かでした)。
コード化されたモンキー

1
うわー!Homebrewを介してインストールプロセスを機能させるために何時間も費やした後、私はこれを試しました。超高速、超簡単で、箱から出してすぐに動作しました!ありがとう!
Magnus W

間違いなく最良の選択肢です。とても$PATH簡単です(@CodedMonkeyで指摘されているとおり、正しいことを確認することを覚えている限り)
Darragh Enright

2
また、別のディレクトリにインストールしても、インストーラーはApacheを構成して、すべてのWebアプリケーションが新しくインストールされたphpバージョンを使用するようにすることも言及する価値があります。したがって、PATHトリックは、コマンドラインからphpを実行する場合にのみ役立ちます。Webアプリケーションを実行する場合は、インストーラーがすべてを処理します。
fiacobelli、2015

51

私はこれを使用します:https : //github.com/Homebrew/homebrew-php

コマンドは次のとおりです。

$ xcode-select --install

$ brew tap homebrew/dupes
$ brew tap homebrew/versions
$ brew tap homebrew/homebrew-php

$ brew options php56
$ brew install php56

次に、.bash_profileまたはで構成します.bashrc

# Homebrew PHP CLI
export PATH="$(brew --prefix homebrew/php/php56)/bin:$PATH"

これは埋め込まれたPHPを更新しませんが、新しいものをインストールすることに注意してください。混乱にもかかわらず、2つのバージョンをインストールするときに深刻な問題に遭遇しました...
Julian F. Weinert

私はこれを試してみましたが、起動時にbashがクラッシュするなど、多くの問題があり、再インストールする必要がありました。これらのコマンドを試すときは注意して、Brewがこれらの行を処理しているときにすべきことの提案に注意してください。
Brac、2016

homebrew / dupesおよびhomebrew / versionsは非推奨になりました。
メディナソッド

14

それを行う簡単な方法の1つは次のとおりです。

1-現在のPHPの場所を確認します。

$ which php
$ /usr/local/bin/php

分かりますか?通常、実行するコマンドは/ usr / local / bin内のリンクなので、...

2-このPHPの現在のリンクのリンクを解除します

unlink /usr/local/bin/php

必要に応じて、リンクを解除する前にパスを確認してから、phpファイルを削除します(do ls -al /usr/local/bin| grep phpを実行してからrm -rf、目的のパスに移動します)。

3-PHP 7.1をインストールする

curl -s http://php-osx.liip.ch/install.sh | bash -s 7.1

4-新しいリンクを作成(インストールしたphp 7.1 binを使用)

ln /usr/local/php5-7.1.9-20170914-100859/bin/php /usr/local/bin/php

私が言ったように、それは私が考える単純な方法です。


8

組み込みのパッケージマネージャーはありません。MacPortsはPHP自体をインストールしなかったため、インストールされたパッケージとしてphpを認識しません。

MacPortsでもインストールできます。sudo port install php52(または必要なバージョン)はPHPをインストールします。

Apple提供のバージョンは上書きされません。下にインストールします/opt/local/opt/localの先頭に追加して$PATH、Apache設定でMacPortsバージョンを使用できます。


phpバージョンのパッケージ名をどのように把握しますか?
David

6

オプション1

ここで推奨されているようにこのサイトは便利で最新のワンライナーを提供しています。

これにより、システムのPHPの基本バージョンが上書きされることはありませんが、/ usr / local / php5にクリーンにインストールされます。

オプション#2

私が好む方法は、Homebrew経由でインストールすることです。


1
あなたはこれを意味ますか?理想的には、リンクが切れた場合の冗長性と単純化のために、ここにすべてをまとめることができます。また、Appleのphpの代わりにはなりません。; P
cregox 2015

3

先に進む前に、OS Xサーバー の最新バージョン(v5.0.15)を使用しています(はい、恐ろしいですが、わかっています...しかし、WebサーバーはA-OKで動作しているようです)。新しいバージョンのPHPを更新(または少なくともApacheにポイントさせる)を試行するために、何日も高低を検索しました。私mcryptは他の拡張機能と一緒に機能しませんでした。http://php-osx.liip.ch/ およびその他のチュートリアルからPHPを何度もインストールして再インストールしました。多くの異なった.confOS X Serverは、独自のカスタムですOS X Serverが負荷ことだった続けファイル.confそれは、Apacheをロードする前に、ファイルhttpd.conf (にあります/etc/apache2/httpd.conf。サーバーファイルは次の場所にあります。

/Library/Server/Web/Config/apache2/httpd_server_app.conf

このファイルを開くときは、次のようにこの行をコメント化する必要があります。

#LoadModule php5_module libexec/apache2/libphp5.so

次に、正しいパスを追加しますhttp://php-osx.liip.ch/リンクからインストールした場合は、すでにインストールされているはずです)

LoadModule php5_module /usr/local/php5/libphp5.so

この変更後、私のPHPは最終的に正しいPHPインストールをロードしました。とはいえ、事態がおかしくなると、OS Xのインストール時に、OS XがPHPのネイティブインストールで動作しないようになっている可能性があります。元に戻すには、上記の変更を元に戻します。

とにかく、うまくいけば、これがこれに数え切れないほどの時間を費やしている他の人にとって役に立ちます。


1
このコメントは私に多くの時間を節約してくれました!
GuyGizmo 2017

2

Snow Leopardにアップグレードしても、PHPを最新の状態に保つという主な問題は解決されません。Appleは、OSアップデートにバンドルされているサードパーティソフトウェアを常に保持しているわけではありません。そして、必要なバグ修正/セキュリティアップデートを入手するためにAppleに依存すると、トラブルが発生します。

さらに、Apple提供のPHPをそのままアップグレードするのではなく、MacPortsを介してインストールすること(およびAppleのPHPの代わりにそれを使用するため必要な構成を行うこと)をお勧めします。/usr/binAppleの将来のアップデートによって上書きされる危険を冒すためにあなたが行うことは何でも。


Appleのセキュリティアップデート2010-002は、LeopardのPHPを5.2.12にアップデートします。
Dave Bacher、

PHP 5.3.1にはSnow Leopardが付属しています。
JAL

2

キーストロークを節約して、これはMacOS Sierraで機能しました:

$ brew install homebrew/php/php71

$ /usr/local/opt/php71/bin/php -v
PHP 7.1.4 (cli) (built: Apr 14 2017 15:02:16) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

2

次のコマンドを使用して、ターミナルで現在のphpバージョンを確認します。

$ php -v

ターミナルに現在のphpバージョンが表示され、次のコマンドがターミナルで実行されます。

$ brew install homebrew/php/php71

インストール済みのphpバージョンのアップグレードが完了したら、ターミナルを再起動してコマンドを実行してください。

$ php -v

これで、ターミナルに現在のPHPバージョンが表示されます。


0

次のコマンドを使用します。

curl -s http://php-osx.liip.ch/install.sh | bash -s 7.0

0

curlを使用して、phpのバージョンを更新できます。

curl -s http://php-osx.liip.ch/install.sh | bash -s 7.3

最後のステップ:

export PATH=/usr/local/php5/bin:$PATH

アップグレードされたバージョンを確認する

php -v

-1

アップグレードする最良の方法は、ソースからコンパイルすることです

あなたのために役立つかもしれないこのチュートリアルを見てください

http://www.computersnyou.com/2012/09/how-to-upgrade-php-in-mac-osx-compiling.html


21
ここにコンテンツを要約せずに、単にリソースにリンクすることは避けてください。リンクが壊れると、あなたの答えはもはや意味がなくなります。
スコット

1
そして、はい...リンクが壊れています!:-D
emale

-2

php7を最新の安定バージョンにアップグレードするbrew upgrade php7 か、php5.Xを最新の安定バージョンにアップグレードします

brew upgrade php56

brew listインストールされているバージョンを確認するために使用します

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