目次
方法 1. valet use php@version を使用します (環境をセットアップするために valet を使用している友人は、ここをお読みください)
ホームページ バックエンド開発 PHPチュートリアル macOS で PHP バージョンを使用して PHP バージョンを切り替える方法を理解する

macOS で PHP バージョンを使用して PHP バージョンを切り替える方法を理解する

Jun 30, 2020 pm 05:58 PM
macos php

macOS で PHP バージョンを使用して PHP バージョンを切り替える方法を理解する

ローカル環境は 7.1 で、会社のプロジェクト環境と一致していますが、laravel6.0 のアップグレードには 7.2 が必要です (グループ内の友人のローカル環境は 7.2 であり、コードを作成した後、プロジェクトの開発環境を自動的にデプロイすることはできません) よく考えてみると、PHP バージョンの切り替えを容易にするために何かをローカルで入手する必要があります。

方法 1. valet use php@version を使用します (環境をセットアップするために valet を使用している友人は、ここをお読みください)

これは、実際には私が読んでいなかったためです。ドキュメントを注意深く読んでください - -、以前は valet の基本的な使い方を大まかにしか学んでいません - -、ドキュメントを注意深く読めば、半日を節約できます - -

Valet を使用すると # を使用できます##valet use php@version PHP バージョンを切り替えるコマンド。指定されたバージョンがインストールされていない場合、Valet は Brew を通じて指定された PHP バージョンをインストールします:

valet use php@7.2
valet use php@7.1
ログイン後にコピー
ただし、これは valet の新しいバージョンである必要があり、最初にアップグレードする必要があります。そうでない場合は、エラーが報告されます。 、次のように

[qian@bogon ~ ]$ valet use php@7.2
  Command "use" is not defined.
ログイン後にコピー

Valet アップグレード:

ターミナルでコンポーザー グローバル アップデート コマンドを使用して、Valet を更新できます。アップグレード後、必要に応じて、Valet が構成ファイルをアップグレードできるように、valet install を再度実行することが最善です (実際には、それが必要であることがわかっています)。

composer global update
valet install
ログイン後にコピー

青色以降は問題ありません

valet use php@7.2

[qian@bogon ~ ]$ valet use php@7.2
Stopping php@7.1...
Unlinking current version: php@7.1
Linking new version: php@7.2
Updating PHP configuration...
Restarting php@7.2...
Restarting nginx...
Valet is now using php@7.2.
ログイン後にコピー

方法 2: php-version をインストールします (valet を使用しない場合は、これをインストールします) Yes である必要があります)

ステップ 1. brew を使用して複数の php バージョンをインストールします

brew install php71 // 元々持っている場合は必要ありません
brew install php72

ステップ 2. php-version をインストールする brew コマンドが無効であることがわかった場合は、手動でインストールします。

[qian@bogon ~ ]$ mkdir $HOME/.local
[qian@bogon ~ ]$ cd $HOME/.local
[qian@bogon .local ]$ git clone https://github.com/wilmoore/php-version.git
[qian@bogon .local ]$ source $HOME/.local/php-version/php-version.sh
//测试  查看当前php版本
[qian@bogon .local ]$ php-version
* 7.1.18
 7.2.22
ログイン後にコピー

ここで環境変数を追加します

[qian@bogon ~ ]$ echo "source $HOME/.local/php-version/php-version.sh" >> ~/.zshrc
[qian@bogon ~ ]$ source ~/.zshrc
ログイン後にコピー

PHP バージョンの切り替え

php-version 7.1
或
php-version 7.2
ログイン後にコピー

コマンド ラインを使用して、既に切り替えられたバージョンである

php -v と入力します。


トラップ レコード

#1. 初めて brew を使用して php72 をインストールするとき、権限が不十分なので Frameworks ディレクトリを作成できません。

次の場合にエラーが報告されます。初回実行

==> Pouring python-3.7.4_1.mojave.bottle.tar.gz
Error: An unexpected error occurred during the `brew link` step
The formula built, but is not symlinked into /usr/local
Permission denied @ dir_s_mkdir - /usr/local/Frameworks
Error: Permission denied @ dir_s_mkdir - /usr/local/Frameworks
ログイン後にコピー

次に、/usr/local/に移動して、新しいディレクトリFrameworksを作成し、再度実行します

brew install php72

2. brewを使用して、 php-version ツールをインストールしてください。コマンドは無効です

brew install php-versionエラーが発生しました

[qian@bogon ~ ]$ brew install php-version
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> Updated Formulae
atomist-cli                              webtorrent-cli

Error: No available formula with the name "php-version"
==> Searching for a previously deleted formula (in the last month)...
Warning: homebrew/core is shallow clone. To get complete history run:
  git -C "$(brew --repo homebrew/core)" fetch --unshallow

Error: No previously deleted formula found.
==> Searching for similarly named formulae...
Error: No similarly named formulae found.
==> Searching taps...
==> Searching taps on GitHub...
Error: No formulae found in taps.
ログイン後にコピー

「」というものは存在しないと言われましたphp-version" に "homebrew/core" も入れました。

git -C "$(brew --repo homebrew/core)" fetch --unshallow
ログイン後にコピー

3 を実行します。

php -vTimes dyld を実行します: ライブラリがロードされていません: /usr/local/opt/icu4c/ lib/libicui18n.61.dylib
[qian@bogon ~ ]$ php -v
dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.61.dylib
  Referenced from: /usr/local/bin/php
  Reason: image not found
[1]    66728 abort      php -v
ログイン後にコピー

とにかく、Dafa

brew uninstall --force php71 && brew install php71
ログイン後にコピー

4 を再インストールします。php-version はバレット環境では動作しません


valet を使用する友達がいないので、以下を読む必要はありません。わかりました~

上記の方法と同じで、php-version がインストールされており、

php -v も # に直面しています## しかし。 。 。 。 sudo pkill -INT -o php-fpm
sudo kill -9 process id, のどちらを使用するかに関係なく、php-fpm プロセスを強制終了することはできません。 #ps -ef | grep php プロセスを確認します:

[qian@bogon ~ ]$ ps -ef |grep php
  501   307     1   0 四09上午 ??        51:34.33 /Applications/PhpStorm.app/Contents/MacOS/phpstorm -psn_0_90134
    0 70900     1   0  2:33下午 ??         0:00.11 /usr/local/opt/php@7.1/sbin/php-fpm --nodaemonize
  501 70901 70900   0  2:33下午 ??         0:00.00 /usr/local/opt/php@7.1/sbin/php-fpm --nodaemonize
  501 70902 70900   0  2:33下午 ??         0:00.00 /usr/local/opt/php@7.1/sbin/php-fpm --nodaemonize
  501 70904 10409   0  2:33下午 ttys007    0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn php
ログイン後にコピー
コード内で phpinfo() を出力します。切り替える前の php バージョンのままです。理由を見つけて別の方法を見つける必要があります

sudo php-fpm

Command を使用すると、報告されたエラーが valet に関連していることがわかりました

[qian@bogon ~ ]$ sudo php-fpm && php -v
Password:
[16-Sep-2019 18:27:08] ERROR: An another FPM instance seems to already listen on /Users/qian/.config/valet/valet.sock
[16-Sep-2019 18:27:08] ERROR: FPM initialization failed
[qian@bogon ~ ]$
ログイン後にコピー
関連する学習の推奨事項:初心者から熟練度までの PHP プログラミング

以上がmacOS で PHP バージョンを使用して PHP バージョンを切り替える方法を理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Bybit Exchangeの最新バージョンを更新する方法は?更新されていない場合、影響はありますか? Bybit Exchangeの最新バージョンを更新する方法は?更新されていない場合、影響はありますか? Feb 21, 2025 pm 10:54 PM

Bybit取引所の更新方法は、プラットフォームとデバイスによって異なります。モバイル:更新を確認し、App Storeにインストールします。デスクトップクライアント:ヘルプメニューの更新を確認し、自動的にインストールします。 Webページ:更新のために公式Webサイトに手動でアクセスする必要があります。交換の更新に失敗すると、セキュリティの脆弱性、機能的な制限、互換性の問題、およびトランザクション実行効率の低下につながる可能性があります。

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

Bitget公式ウェブサイトのインストール(2025初心者ガイド) Bitget公式ウェブサイトのインストール(2025初心者ガイド) Feb 21, 2025 pm 08:42 PM

Bitgetは、スポット取引、契約取引、デリバティブなど、さまざまな取引サービスを提供する暗号通貨交換です。 2018年に設立されたこのExchangeは、シンガポールに本社を置き、安全で信頼性の高い取引プラットフォームをユーザーに提供することに取り組んでいます。 Bitgetは、BTC/USDT、ETH/USDT、XRP/USDTなど、さまざまな取引ペアを提供しています。さらに、この取引所はセキュリティと流動性について評判があり、プレミアム注文タイプ、レバレッジド取引、24時間年中無休のカスタマーサポートなど、さまざまな機能を提供します。

PHPでの後期静的結合を説明します(静的::)。 PHPでの後期静的結合を説明します(静的::)。 Apr 03, 2025 am 12:04 AM

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

Coinsuper Exchangeソフトウェアチャネル公式ウェブサイトの入り口 Coinsuper Exchangeソフトウェアチャネル公式ウェブサイトの入り口 Feb 21, 2025 pm 10:39 PM

Coinsuper Exchangeの公式ウェブサイトの入り口:https://www.coinsuper.com。クライアントのダウンロードチャネルは、Windowsクライアント、MacOSクライアント、およびモバイル(iOS/Android)です。登録には、電子メール、携帯電話番号、パスワードが必要であり、取引する前に実際の認証を完了する必要があります。このプラットフォームは、ビットコイン、イーサリアムなどを含むさまざまなデジタル資産トランザクションを提供し、注文とアクセプターの両方で0.1%のトランザクション料金が0.1%です。セキュリティ保護ガードには、コールドウォレットストレージ、デュアルファクター検証、マネーロンダリングアンチマネーロンダリング、テロ対策資金調達措置、およびセキュリティパブリックが含まれます

PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? Apr 03, 2025 am 12:03 AM

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。

OUYI OKXインストールパッケージが直接含まれています OUYI OKXインストールパッケージが直接含まれています Feb 21, 2025 pm 08:00 PM

世界をリードするデジタル資産交換であるOuyi Okxは、安全で便利な取引体験を提供するために、公式のインストールパッケージを開始しました。 OUYIのOKXインストールパッケージは、ブラウザに直接インストールでき、ユーザー向けの安定した効率的な取引プラットフォームを作成できます。インストールプロセスは、簡単で理解しやすいです。

一致式(PHP 8)とそれがスイッチとどのように異なるかを説明します。 一致式(PHP 8)とそれがスイッチとどのように異なるかを説明します。 Apr 06, 2025 am 12:03 AM

PHP8では、一致式は、式の値に基づいて異なる結果を返す新しい制御構造です。 1)Switchステートメントに似ていますが、実行ステートメントブロックの代わりに値を返します。 2)一致式の式は厳密に比較され、セキュリティが向上します。 3)スイッチステートメントの脱落の可能性を回避し、コードのシンプルさと読みやすさを向上させます。

See all articles