66

Macにインストールされているデフォルトの代わりにMAMPのバージョンのPHPを使用したいと思います。使ってみました

ln -s /Applications/MAMP/bin/php5.3/bin/php php

しかし、「ファイルが存在します」というエラーが発生します。フルパスの代わりにphpと入力するだけで、これを回避するための最良の方法は何ですか?

4

10 に答える 10

108

元のphpの場所にシンボリックリンクを作成しました。

1.次のコマンドでosxphpバージョンを見つけます。

which php

結果は次のようになります。

/opt/local/bin/php

2.元のphpバイナリをバックアップ(移動)します。

sudo mv /opt/local/bin/php /opt/local/bin/php.bak

3.シンボリックリンクを作成します。

sudo ln -s /Applications/MAMP/bin/php/php5.4.4/bin/php /opt/local/bin/php

4.新しいphpバージョンを実行します。

php -v

PS:

これがエルキャピタンで機能するために

  • MacをRecoveryModeで再起動します(起動時にCmd + Rを押し続けます)
  • ターミナルを開き、次のように入力します。csrutil disable
  • リブート
  • sudo ln -s /Applications/MAMP/bin/php/php5.4.4/bin/php /opt/local/bin/php
    またはsudo ln -s /Applications/MAMP/bin/php/php5.4.4/bin/php /usr/bin/php
  • 再度RecoveryModeで再起動し、セキュリティを再度有効にします。csrutil enable
于 2013-06-21T16:47:14.260 に答える
90

コマンドラインで呼び出されるPHPのデフォルトバージョンを変更することはお勧めしません。そうすることで、OSをアップグレードすることにした場合に、システムの他の部分が破損したり、将来的に問題が発生したりする可能性があります。

あなたのニーズを満たすかもしれない代替案があります。MAMPのphp5.3のコピーのエイリアスを作成できます。私の場合、エイリアスにphpmampという名前を付けました。ターミナルを開き、次のように入力します。

alias phpmamp='/Applications/MAMP/bin/php5.3/bin/php'

これで、コマンドラインでphpmampと入力すると、MAMPphpインターパーターが起動します。次のように入力して、これを確認します。

phpmamp --help

これと他のエイリアスをに保存することをお勧めし~/.bash_profile ます。これにより、再起動後もエイリアスを保持できます。.bash_profileそれ以外の場合、エイリアスは現在の特定のターミナルセッションでのみ存続する必要があります。ファイルの作成の詳細については、次を参照してください。

http://www.redfinsolutions.com/redfin-blog/creating-bashprofile-your-mac

于 2010-11-24T01:28:37.030 に答える
76

現在のファイルを改ざんしたくないので、MAMPPHPbinフォルダーの前に$PATHenv変数を追加します。

次の行を編集~/.bash_profileして上部に追加できます

export PATH="/Applications/MAMP/bin/php/php5.6.1/bin:$PATH"

PHPのバージョンを現在使用しているバージョンに変更するだけです。

source ~/.bash_profileファイルを編集した後は、忘れずに行ってください。

于 2014-10-25T11:14:47.160 に答える
4

php.ini構成がすべてのケースで、すべてのシステムで、特にioncubeなどのモジュールが必要な場合に正しくロードされなかったため、これまでにネット上で見つけた結果/ソリューションに満足していませんでした( MAMP Proではさらに混乱します)。そのため、(configsを使用して)独自のphpバージョンエイリアスを作成しました。そのため、例として次のソリューションを考え出しました(MAMP Proに基づいて、必要に応じてphp.iniパスを調整することを忘れないでください)。

.bash_profileを編集します

vim ~/.bash_profile

そして、次のエントリを追加します。

alias php55="/Applications/MAMP/bin/php/php5.5.26/bin/php -c '/Library/Application Support/appsolute/MAMP PRO/conf/php5.5.26.ini'"
alias php56="/Applications/MAMP/bin/php/php5.6.10/bin/php -c '/Library/Application Support/appsolute/MAMP PRO/conf/php5.6.10.ini'"
alias php56cgi="/Applications/MAMP/bin/php/php5.6.10/bin/php-cgi -c '/Library/Application Support/appsolute/MAMP PRO/conf/php5.6.10.ini'"

現在のターミナルセッションで.bash_profileを再初期化します(そうでない場合、ターミナルを再起動しない限り、変更は表示されません)。

source ~/.bash_profile

追加のモジュールがいくつかインストールされている場合は、php56 -vを使用してテストでき、ioncubeなどのモジュールの出力を取得する必要があります。それ以外の場合は、php56-i|でテストします。grep "yourModuleNameOrSomethingElse"

これで、すべての構成がロードされた状態で、ターミナルで「php56」などのphpバージョンの1つを簡単に使用できるようになりました。そのため、ターミナルを介した適切なphp.ini構成を含む、バージョンのすべての反復を通じてアプリケーションをテストおよび構築するのに最適です。

通常のMAMPユーザーの場合、構成は/ Applications / MAMP /conf/にあると思います。幸せなプログラミング。

于 2016-08-04T18:56:30.823 に答える
2

2021- ohmyzshを使用している場合、編集するファイルは次のとおりです。

/Users/your_user/.zshrc

したがって、このファイルを編集してパスを追加できます。

export PATH=/Applications/MAMP/bin/php/php8.0.0/bin:$PATH

BigSurと完全に連携します

于 2021-06-20T23:21:15.357 に答える
1

添付ファイルに示されているように、端末がzsh(oh-my-zosh)を使用している場合。 画像を確認 する次のようにします。

Mac Big Surは、端末に「zsh」Oh-my-zoshを使用しています。それで、私は次のことをしました。

  1. ターミナルを開きます。
  2. プロファイルパス(/ Users / yourProfileName)に.zshrcファイルがあるかどうかを確認します
  3. .zshrcファイルがない場合は、(〜touch .zshrc)コマンドを使用して作成します。
  4. 次の行を追加します。exportMAMP_PHP=/ Applications / MAMP / bin / php / php7.4.12 / bin export PATH = "$ MAMP_PHP:$ PATH"
  5. ファイルを保存します。ターミナルを閉じて、再度開きます。次に、「whichphp」を実行します。

ヘルプが必要な場合はお知らせください。

于 2021-01-19T07:02:08.297 に答える
1

MacOSCatalinaの場合。ディレクトリを探す/Users/<user_name>/.zprofile

そして追加します(例えば)

# MAMP PRO PHP
export PATH="/Applications/MAMP/bin/php/php7.4.2/bin:$PATH"

再起動後、ターミナルで

which php

新しいphpバージョン/Applications/MAMP/bin/php/php7.4.2/bin/php

于 2021-05-09T07:15:40.173 に答える
0

「ファイルが存在します」というエラーは、すでに存在しているファイルの名前でシンボリックリンクを作成しようとしたことが原因である可能性があります。置き換えようとしているphpバージョンを含むディレクトリにいる、またはこれが2回目の試行であり、最初に既存のシンボリックリンクを削除しなかったと想定します。デフォルトバージョンのphpを「置き換え/変更」しないことに関して、他の人たちに同意します。

質問の2番目の部分、つまりフルパスを入力する必要があることを回避するための最良の方法に基づいて、エイリアスを示唆する答えはそれと一致しています。ただし、複数のバージョンが関係している場合は、実行するバージョンを実行するためにphp以外の何かを呼び出す必要があることを意味します。

使用したいphpのバージョンを「選択」して、そのバージョンへのシンボリックリンクを作成し、使用するときにコマンドとして「php」と入力するだけのスクリプトがあります。スクリプトを入手できるブログをここに書きました。@ioCronからの回答に基づいて、各バージョンに関連付けられているさまざまな構成フォルダーを説明するために、スクリプトを再検討する必要がある場合があります。

于 2016-09-08T13:15:26.190 に答える
0

これはOSX10.12.5ではうまくいきませんでした

/ opt / local/binにmacポートphp70をインストールしています

どのphpが示した:

/usr/bin/php

エイリアスやローカルパスなどを設定しましたが、ほとんどの場合は機能しましたが、他のプログラム(composerなど)が失敗したため、解決策は次のように追加することでした。

/opt/local/bin
/opt/local/sbin

ファイル/etc/pathsに

それからそれはすべて魅力的に働きました!

于 2017-07-05T02:44:29.470 に答える
0

最新バージョンのMAMP(バージョン5以降)は、MAMPPHPバージョンをコマンドラインで使用できるようにする簡単な方法を提供します。サイドバーメニューで[PHP]を選択し、[このバージョンをコマンドラインで利用できるようにする]をオンにするだけです。簡単ピーシー!:)

スクリーンショット

于 2019-01-15T22:57:28.007 に答える