PHP(可选)
PHP
安装 homebrew-php Tap
bash
brew tap shivammathur/php
搜索当前可用php版本
bash
brew search php
# ==> Formulae
# brew-php-switcher ✔ phplint shivammathur/php/php@7.0 shivammathur/php/php@7.4-debug
# php ✔ phpmd shivammathur/php/php@7.0-debug # shivammathur/php/php@8.0 ✔
# php-code-sniffer phpmyadmin shivammathur/php/php@7.1 shivammathur/php/php@8.0-debug
# php-cs-fixer phpstan shivammathur/php/php@7.1-debug shivammathur/php/php@8.1 ✔
# php-cs-fixer@2 phpunit shivammathur/php/php@7.2 shivammathur/php/php@8.1-debug
# php@7.4 ✔ shivammathur/php/php ✔ shivammathur/php/php@7.2-debug shivammathur/php/php@8.3
# php@8.0 ✔ shivammathur/php/php-debug shivammathur/php/php@7.3 ✔ shivammathur/php/php@8.3-debug
# php@8.1 ✔ shivammathur/php/php@5.6 shivammathur/php/php@7.3-debug pup
# phpbrew shivammathur/php/php@5.6-debug shivammathur/php/php@7.4 ✔ pcp
安装指定版本php
这里以 PHP 8.2
为例。
bash
brew install php@8.2
也可以安装其他版本的 PHP,比如再安装一个 PHP 8.1
bash
brew install php@8.1
PHP 扩展
bash
brew tap shivammathur/extensions
mcrypt
这里选择使用 pecl 进行安装,安装前先使用 brew install mcrypt
再 MacOS 上安装 mcrypt。
确定本机 pecl
可执行文件所在路径,比如在 Apple M1 电脑上给 PHP 8.1
安装 mcrypt
扩展,pecl
可执行命令 所在路径大概是:/opt/homebrew/opt/php@8.1/bin/pecl
bash
# 搜索要安装的扩展包
/opt/homebrew/opt/php@8.1/bin/pecl search mcrypt
# 安装
arch -arm64 sudo /opt/homebrew/opt/php@8.1/bin/pecl install redis
# 在安装的过程中需要提供 libmcrypt 前缀
# 可以通过 `locate libmcrypt` 获取
## Apple M1 系统上的路径是 `/opt/homebrew/opt/libmcrypt`
## Intel 系统上的路径是 `/usr/local/opt/libmcrypt`
### 直到编译完毕后出现下面的提示 ###
# Build process completed successfully
# Installing '/opt/homebrew/Cellar/php@8.1/8.1.13/pecl/20210902/mcrypt.so'
# install ok: channel://pecl.php.net/mcrypt-1.0.5
# Extension mcrypt enabled in php.ini
# 配置
## 默认情况 php 的默认配置文件中已经加载了 `mcrypt.so` 扩展,也可以这部分配置将它们放在 conf.d/ 目录下统一管理
## 新建一个配置文件 /opt/homebrew/etc/php/8.1/conf.d/ext-mcrypt.ini
echo <<EOT >> /opt/homebrew/etc/php/8.1/conf.d/ext-mcrypt.ini
[mcrypt]
extension=mcrypt.so
EOT
# 检查
php -m |grep mcrypt
yaml
这里选择使用 pecl 进行安装,安装前先使用 brew install libyaml
再 MacOS 上安装 libyaml。
确定本机 pecl
可执行文件所在路径,比如在 Apple M1 电脑上给 PHP 8.2
安装 libyaml
扩展,pecl
可执行命令 所在路径大概是:/opt/homebrew/opt/php@8.2/bin/pecl
bash
# 搜索要安装的扩展包
/opt/homebrew/opt/php@8.2/bin/pecl search yaml
# 安装
/opt/homebrew/opt/php@8.2/bin/pecl install yaml
# 在安装的过程中需要提供 libyaml 前缀
# 可以通过 `locate libyaml` 获取
## Apple M1 系统上的路径是 `/opt/homebrew/opt/libyaml`
## Intel 系统上的路径是 `/usr/local/opt/libyaml`
### 直到编译完毕后出现下面的提示 ###
# Build process completed successfully
# Installing '/opt/homebrew/Cellar/php/8.2.1/pecl/20220829/yaml.so'
# install ok: channel://pecl.php.net/yaml-2.2.2
# Extension yaml enabled in php.ini
# 配置
## 默认情况 php 的默认配置文件中已经加载了 `yaml.so` 扩展,也可以这部分配置将它们放在 conf.d/ 目录下统一管理
## 新建一个配置文件 /opt/homebrew/etc/php/8.2/conf.d/ext-yaml.ini
echo <<EOT >> /opt/homebrew/etc/php/8.2/conf.d/ext-yaml.ini
[yaml]
extension=yaml.so
EOT
# 检查
php -m |grep yaml
redis
选择使用源代码的方式安装最新版 5.3.7
的 redis 扩展。
下面以 PHP 8.2 安装 redis 扩展为例。
使用
wget
下载redis-5.3.7.tgz
压缩包bashwget https://pecl.php.net/get/redis-5.3.7.tgz
解压并进入到目录
bashtar xf redis-5.3.7.tgz && cd redis-5.3.7
执行
phpize
(根据当前 PHP 版本不同找到对应的可执行文件phpize
)bash/opt/homebrew/opt/php@8.2/bin/phpize # M1 /usr/local/Cellar/php/8.2.3/bin/phpize # Intel # 执行完毕之后当前目录下生成 configure 文件
配置(根据当前 PHP 版本不同找到对应的可执行文件
php-config
)./configure --with-php-config=/opt/homebrew/opt/php@8.2/bin/php-config # M1 ./configure --with-php-config=/usr/local/Cellar/php/8.2.3/bin/php-config # Intel
执行安装
bashmake && make install
添加扩展
bashecho <<EOT >> /opt/homebrew/etc/php/8.2/conf.d/ext-redis.ini [redis] extension=redis.so EOT
检查
bashphp -m |grep redis
brew-php-switcher
安装
bash
brew install brew-php-switcher
检查
bash
brew search brew-php-switcher
# ==> Formulae
# brew-php-switcher ✔
valet可选
bash
brew-php-switcher 8.2 -c=valet