brew安装php

brew search php 使用此命令搜索可用的PHP版本

brew install php@7.1 使用此命令安装指定版本的php

brew install brew-php-switcher 安装php多版本切换工具

brew-php-switcher 7.1 切换PHP版本到7.1(需要brew安装多个版本)

PHP -v 查询版本信息,确定是否安装成功(如果显示的是系统自带版本,则需要配置环境变量,修改~/.bash_profile中/usr/local/bin的优先级)

brew安装PHP扩展

通过brew安装的PHP版本中自带了pecl,可以直接使用

pecl version 查看版本信息

pecl help 可以查看命令帮助

pecl search xdebug 搜索可以安装的扩展信息

pecl install xdebug 安装扩展

pecl install http://pecl.php.net/get/redis-4.2.0.tgz 安装指定版本扩展

默认扩展.so文件会被编译到/usr/local/Cellar/php@7.2/7.2.15/pecl/目录中,此目录实际上是软链接到了/usr/local/lib/php/pecl目录。

a118f10d738c

image.png

接下来需要的是配置扩展,这里提供两种方法:

方法一:

因为PHP@7.2的默认扩展目录为/usr/local/Cellar/php@7.2/7.2.15/lib/php/20170718

所以我们可以直接将/usr/local/Cellar/php@7.2/7.2.15/pecl/20170718目录下的.so文件复制到默认目录下,然后在/usr/local/etc/php/7.2/conf.d中新建一个扩展配置文件extension.ini,写入配置

[xdebug]

zend_extension="xdebug.so"

再通过php --ini查看php加载的配置文件路径,并删除php.ini中的

zend_extension="xdebug.so"

方法二:

因为/usr/local/Cellar/php@7.2/7.2.15/pecl/是软链接到了/usr/local/lib/php/pecl目录的,而php.ini中的

extension_dir = "/usr/local/lib/php/pecl/20170718"

所以我们可以直接在/usr/local/etc/php/7.2/conf.d中新建一个扩展配置文件extension.ini,写入配置

[xdebug]

zend_extension="/usr/local/lib/php/pecl/20170718/xdebug.so"

以上方法二选一:

配置完成之后重启服务器,php -m查看扩展是否安装成功。

注:Mac下如mysqli等扩展,phpinfo()和php -m都会显示安装加载了并且是可以直接使用的,但是你在扩展目录里是找不到相应的.so文件的,所以你要是把php.ini中extension注释去掉的话,重启服务器会报错找不到扩展文件(因此不需要再去配置php.ini)。这里经过查资料,据说是这些找不到.so文件的扩展是通过xcdoe做了处理的,具体如何没找到相关资料。搜索了下,这里贴出我感觉是这些扩展的存在路径:

/usr/local/Cellar/php@7.2/7.2.15/include/php/ext

这里记录几种查看扩展是否开启的方法:

1. php -m

2. phpinfo()

3. extension_loaded() //直接判断扩展是否加载

4. function_exists() //判断扩展库下的方法是否存在

5. php --ri 扩展名 //查看扩展版本信息

GitHub 加速计划 / br / brew
40.41 K
9.47 K
下载
🍺 The missing package manager for macOS (or Linux)
最近提交(Master分支:1 个月前 )
90a90b30 3 个月前
47b1cab7 3 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐