(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 との互換性についてプロジェクトをテストおよびアップグレードする必要があります。