システム自体の php バージョンと新しくインストールされた php アドバンスト バージョンが同時に存在し、ターミナルと phpinfo によって読み込まれるファイルの場所が一致しないため、php バージョンが一致しません。解決策は、次のようにします。上位バージョンのphpをインストールディレクトリに追加 上位バージョン「php-fpm」のインストールディレクトリも端末設定ファイルに追加されます。
推奨: 「PHP ビデオ チュートリアル 」
問題は、システムに付属している PHP のバージョンと、新規インストール php の上級バージョンが同時に存在し、ターミナルと phpinfo() によってロードされるファイルの場所が一致しません。
その中で、phpinfo() を解析する
nginx サービスは php-fpm に依存しているため、phpinfo() の出力は php-fpm によって開始されたバージョンになります。ターミナルで
php -v を実行すると、ターミナル構成ファイルに設定された php インストール ディレクトリに対応する php バージョンがロードされます; したがって、2 つの php バージョン間の不一致の主な原因は
に設定されているphpのバージョンと一致しません。 直接的な解決策は、高バージョンの php インストール ディレクトリの下に高バージョンの php-fpm インストール ディレクトリを端末設定ファイルに追加して、システムが高バージョンの php-fpm を自動的にロードできるようにすることです。
簡単な解決策:
export PATH=/usr/local/Cellar/php@7.2/7.2.23/bin:/usr/local/Cellar/php@7.2/7.2.23/sbin:${PATH}
システムが zsh を使用している場合は、
~/.zshrc## の最後に zsh を追加します。 # ファイル :source ~/.bash_profile
次に、
source ~/.zshrc
sudo killall php-fpm
sudo php-fpm -D
を再起動します。
1. 現在の PHP バージョンphp -v
PHP 7.2.23 (cli) (built: Oct 10 2019 10:15:26) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.23, Copyright (c) 1999-2018, by Zend Technologies
which php
whereis php
/usr/local/Cellar/php@7.2/7.2.23/bin/php
3. php-fpm のバージョンとインストール場所を確認します
php-fpm -v
次の出力を取得します:
PHP 5.6.30 (fpm-fcgi) (built: Oct 29 2017 20:31:21) Copyright (c) 1997-2016 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
which php-fpm
次の出力を取得します。
/usr/sbin/php-fpm
上記を確認した結果、php によってロードされたインストール ディレクトリは新しくインストールされた php の高度なバージョンであり、php-fpm は依然として Mac システムに付属する下位バージョンであることがわかりました。新しいバージョンの php のインストール場所はシステムのターミナル設定ファイルで設定されていますが、php-fpm は設定されていません。インストール場所により、php-fpm の起動時にシステムの下位バージョンの php-fpm が自動的にロードされます。フレームワークは上位バージョンの php に依存しているため、実行されません。
4. php-fpm ローディング ディレクトリの新しいバージョンを設定します
Configuration
~/.bash_profile:
export PATH=/usr/local/Cellar/php@7.2/7.2.23/bin:/usr/local/Cellar/php@7.2/7.2.23/sbin:${PATH}
システムが zsh を使用している場合は、 ~/.zshrc
ファイルの最後に
source ~/.bash_profile
を追加するか、~/.zshrc
ファイルに上記のパス構成を直接設定します。
次に、source ~/.zshrc
を実行して設定を有効にします
5. 現在の php-fpm バージョンを確認します<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;">(base) qingshan@qingshan ~ php-fpm -v
PHP 7.2.23 (fpm-fcgi) (built: Oct 10 2019 10:15:34)
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.23, Copyright (c) 1999-2018, by Zend Technologies</pre><div class="contentsignin">ログイン後にコピー</div></div>
上位バージョンphp の -fpm が自動的にロードされました。
6. php-fpm を再起動します
バックグラウンドで実行されている php-fpm プロセスを終了します
sudo killall php-fpm
php-fpm を起動し、バックグラウンドで実行します:
sudo php-fpm -D
現時点でphpinfoで出力されるPHPバージョン情報は最新バージョン7.2
です
以上がphp -v と phpinfo() によって出力される PHP バージョンが一致しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。