Rumah pembangunan bahagian belakang PHP8 在Mac上使用Homebrew升级到PHP 8

在Mac上使用Homebrew升级到PHP 8

Nov 27, 2020 am 10:09 AM
PHP 8

本文翻译自:https://stitcher.io/blog/php-8-upgrade-mac

用Homebrew升级

首先要确保Brew是最新的:

brew update

接下来,升级PHP:

brew upgrade php

通过运行php -v以下命令检查当前版本:

php -v

重新启动Nginx或Apache:

sudo nginx -s reload
sudo apachectl restart

并通过访问以下脚本确保本地Web服务器也使用PHP 8:

# index.php, accessible to your web server
phpinfo();

版本应显示8.0.x。

注意:如果您使用的是Laravel Valet,请继续阅读,您需要一些额外的步骤才能使Web服务器正常工作。

Valet

如果您使用的是Laravel Valet,则应执行以下步骤对其进行升级:

composer global update

现在运行valet install:

valet install

扩展

PHP扩展是使用pecl安装的。我个人使用Imagick,Redis和Xdebug。它们可以这样安装:

pecl install imagick
pecl install redis
pecl install xdebug

您可以运行pecl list以查看安装了哪些扩展:

pecl list
# Installed packages, channel pecl.php.net:
# =========================================
# Package Version State
# imagick 3.4.4   stable
# redis   5.1.1   stable
# xdebug  2.8.0   stable

您可以使用来搜索其他扩展名pecl search:

pecl search pdf
# Retrieving data...0%
# ..
# Matched packages, channel pecl.php.net:
# =======================================
# Package Stable/(Latest) Local
# pdflib  4.1.2 (stable)        Creating PDF on the fly with the PDFlib library

安装新软件包后,请确保重新启动Web服务器:

sudo nginx -s reload
sudo apachectl restart

如果您使用的是Laravel Valet,则也应重新启动它。

valet restart

通过检查PHP Web服务器和CLI安装,确保正确安装和加载了所有扩展:

php -i | grep redis
var_dump(extension_loaded('redis'));

如果扩展未正确加载,则有两个简单的修复程序。

首先,请确保将扩展名添加到正确的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版本进行更新,则可以做第二件事。是分别重新安装每个扩展。

pecl uninstall imagick
pecl install imagick

最后一步

最后,您应该测试和升级项目以实现PHP 8兼容性。

更多PHP8相关特性,请访问PHP8专题栏目!

Atas ialah kandungan terperinci 在Mac上使用Homebrew升级到PHP 8. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah argumen yang dinamakan dalam Php 8? Apakah argumen yang dinamakan dalam Php 8? Jun 19, 2025 pm 06:05 PM

Namedargumentsinphp8allowpassingvaluestoafunctionbyspecifytheparameternameinsteadofrelyingonparameterorder.1.theyimproveCodeRabilitybymakingfunchingcallsself-documenting, asseeninexampleslikeSizeMage: 100, Heightver: 50, Height: 50, Heightver: 50, Heightver: 50,

Apakah jenis pulangan statik dalam Php 8? Apakah jenis pulangan statik dalam Php 8? Jun 24, 2025 am 12:57 AM

TThestaticReturntypeinphp8MeansthemeTheMethodisEpectEptEpTEpTEtEtNEturnanStanceoftheclassit'scalledon, termasukyAyDIsCHClasscatiStatiCBINDINGing, ansurTheNVVENTHATUcTHecallAstyPreStyPE.S

Apakah promosi harta pembina dalam Php 8? Apakah promosi harta pembina dalam Php 8? Jun 19, 2025 pm 06:45 PM

ConstructorPropertyPromotionInphp8AllowsAutomaticCreationandassignmentOfClassPropertiesDirectlyFromConstructorParameters.InsteadofManuallySsigningeachPropertyinsidetheconstructor, DeveloptersCanAddanAccessModifier (Public, dilindungi, dilindungi, orprivate)

Apakah kompilasi JIT (Just-in-Time) dalam Php 8? Apakah kompilasi JIT (Just-in-Time) dalam Php 8? Jun 20, 2025 am 12:57 AM

JITINPHP8ImproveSperformanceBebyCompilingFrequentsecutedCodeIntomachineCodeatime.insteadofinterpretingopcodeseachTime, JitIdentifiesHotsectionsOfCode, CompileSthemintonativeMachinecode, CachesitForreuse, andreprepretation

Apakah jenis campuran dalam Php 8? Apakah jenis campuran dalam Php 8? Jun 21, 2025 am 01:02 AM

Jenis campuran Php8 membolehkan pembolehubah, parameter, atau nilai pulangan untuk menerima sebarang jenis. 1. Campuran sesuai untuk senario yang memerlukan fleksibiliti yang tinggi, seperti middleware, pemprosesan data dinamik dan integrasi kod warisan; 2. Ia berbeza daripada jenis kesatuan kerana ia meliputi semua jenis yang mungkin, termasuk jenis baru pada masa akan datang; 3. Berhati -hati apabila menggunakannya untuk mengelakkan keselamatan jenis yang lemah, dan disyorkan untuk menerangkan jenis yang dijangkakan bersama dengan PHPDOC. Penggunaan rasional campuran dapat meningkatkan keupayaan ekspresi kod sambil mengekalkan kelebihan jenis petikan.

Apakah ungkapan perlawanan dalam Php 8? Apakah ungkapan perlawanan dalam Php 8? Jun 21, 2025 am 01:03 AM

Ekspresi perlawanan Php8 menyediakan pemetaan bersyarat yang bersih melalui perbandingan yang ketat. 1. Gunakan kesaksamaan yang ketat (===) untuk mengelakkan penukaran jenis; 2. Tiada pernyataan rehat diperlukan untuk mengelakkan penembusan secara tidak sengaja; 3. Nilai pulangan langsung boleh diberikan kepada pembolehubah; 4. Sokongan multi-condition menggabungkan dan berkongsi hasil. Sesuai untuk senario input dan output pemadaman yang tepat dan pemetaan, seperti pemprosesan kod status HTTP; Tidak sesuai untuk pemeriksaan pelbagai atau perbandingan longgar.

Apakah peningkatan prestasi dalam Php 8 berbanding dengan Php 7? Apakah peningkatan prestasi dalam Php 8 berbanding dengan Php 7? Jun 27, 2025 am 12:51 AM

Peningkatan prestasi Php8 terutamanya berasal dari pengkompil JIT yang baru diperkenalkan dan pengoptimuman enjin Zend, tetapi manfaat dalam aplikasi sebenar berbeza mengikut senario. 1. Pengkompil JIT menyusun beberapa kod ke dalam kod mesin semasa runtime, dengan ketara meningkatkan prestasi skrip CLI atau API jangka panjang, tetapi mempunyai kesan terhad dalam permintaan web seumur hidup; 2. Opcache meningkatkan dan meningkatkan fungsi Caching dan Preloading Opcode, mengurangkan cakera I/O dan overhead parsing, terutamanya untuk kerangka seperti Laravel atau Symfony; 3. Pelbagai pengoptimuman dalaman seperti rentetan dan operasi array yang lebih cekap, penggunaan memori yang lebih kecil, dan lain -lain. Walaupun setiap penambahbaikan adalah kecil, ia berkumpul dalam jumlah yang kecil; 4. Penambahbaikan prestasi sebenar bergantung kepada senario aplikasi, Php8 boleh menjadi cepat 10 dalam tugas-tugas yang berintensifkan pengkomputeran.

Apakah atribut (anotasi) dalam Php 8? Apakah atribut (anotasi) dalam Php 8? Jun 22, 2025 am 12:54 AM

Atribut Php8 menambah metadata kepada elemen kod melalui kaedah berstruktur. 1. 2. Ia lebih selamat daripada phpdoc, dengan pemeriksaan jenis dan pengesahan masa kompilasi; 3. Atribut tersuai perlu menentukan kelas dan memohon, seperti menggunakan reflectionAttribute untuk membuat atribut log logexecution; 4. biasanya digunakan dalam rangka kerja untuk mengendalikan penghalaan, pengesahan, pemetaan ORM dan tugas -tugas lain, meningkatkan kebolehbacaan kod dan memisahkan konfigurasi logik; 5. Ia boleh diakses melalui refleksi, tetapi penggunaan yang berlebihan harus dielakkan untuk mengelakkan mempengaruhi kejelasan kod.

See all articles