Mac で Homebrew を使用して PHP 8 にアップグレードする

in Vlog

(CJP) # Homebrew によるアップグレード

brew が最新であることを確認することから始めます。

brew update

次に、PHP をアップグレードします。 組み込みのphpレシピを使用するか、タップを使用できます shivammathur/homebrew-php. 複数の PHP バージョンを簡単にインストールして切り替えることができるため、2 番目の方法をお勧めします。

# 通常アップグレード

brew upgrade php

# でアップグレード shivammathur/homebrew-php

brew tap shivammathur/php
brew install shivammathur/php/[email protected]

バージョンを切り替えるには、次のコマンドを使用します。

brew link –overwrite –force [email protected]

リポジトリで詳細を読むことができます。

# 次のステップ

実行して現在のバージョンを確認します php -v:

php -v

Nginx または Apache を再起動します。

sudo nginx -s reload
sudo apachectl restart

また、次のスクリプトにアクセスして、ローカル Web サーバーも PHP 8 を使用していることを確認してください。

phpinfo();

バージョンが表示されるはずです 8.0.x.

注: Laravel Valet を使用している場合は、読み続けてください。Web サーバーが適切に機能するためには、追加の手順が必要です。

# バレット

Laravel Valet を使用している場合は、次の手順を実行してアップグレードする必要があります。

composer global update

使用できます valet use PHP のバージョンを切り替えるには:

valet use [email protected]
valet use [email protected]

バレットの古いバージョン (v2.13.18 より前) を使用している場合、PHP 8 から PHP 7.4 に切り替えると、変更が適切に更新されないバグがあったことに注意してください。 これは Valet 2.13.18 で修正され、実行後に自動的にバレット ソケットが削除されるようになりました。 valet use [email protected]. これを手動で行う必要がある場合は、次を実行できます。

cd ~/.config/valet
rm valet.sock
valet restart

# 拡張機能

PHP 拡張機能は、pecl を使用してインストールされます。 個人的には Imagick、Redis、Xdebug を使用しています。 次のようにインストールできます。

pecl install imagick
pecl install redis
pecl install xdebug

実行できます pecl list インストールされている拡張機能を確認するには:

pecl list

を使用して他の拡張機能を検索できます pecl search:

pecl search pdf

新しいパッケージをインストールした後は、必ず Web サーバーを再起動してください。

sudo nginx -s reload
sudo apachectl restart

Laravel Valet を使用している場合は、それも再起動する必要があります。

valet restart

PHP ウェブサーバーと CLI の両方のインストールをチェックして、すべての拡張機能が正しくインストールされ、ロードされていることを確認します。

php -i | grep redis
var_dump(extension_loaded(‘redis’));

拡張機能が正しく読み込まれていない場合は、2 つの簡単な修正方法があります。

まず、拡張子が正しい ini ファイルに追加されていることを確認します。 実行できます php –ini どのファイルがロードされているかを知るには:

Configuration File (php.ini) Path: /usr/local/etc/php/7.4
Loaded Configuration File: /usr/local/etc/php/7.4/php.ini
Scan for additional .ini files in: /usr/local/etc/php/7.4/conf.d
Additional .ini files parsed: /usr/local/etc/php/7.4/conf.d/ext-opcache.ini,
/usr/local/etc/php/7.4/conf.d/php-memory-limits.ini

次に、ini ファイルを確認します。

extension=”redis.so”
extension=”imagick.so”
zend_extension=”xdebug.so”

インストール済みの拡張機能を CLI 経由でテストする場合、ini 設定を変更するときに nginx、apache、または Valet を再起動する必要はありません。

pecl を使用して拡張機能をインストールした古いバージョンの PHP から更新する場合は、2 番目に実行できます。 すべての拡張機能を個別に再インストールすることです。

pecl uninstall imagick
pecl install imagick

# 最後のステップ

最後に、PHP 8 との互換性についてプロジェクトをテストおよびアップグレードする必要があります。

関連記事

前の投稿
カンガルーポーチの中身は?
次の投稿
キリンの首が長いのはなぜ?