前言
使用 linux 环境后,使用 php 需要安装扩展成为一个大难题,因此整理了下如何优雅的安装;
事前准备
安装 pecl (php 拓展仓库)
sudo apt-get install pecl
如果需要下载特定版本可以通过 pecl 官网 查询对应的包,复制对应版本的链接即可。
举例说明, 安装 swoole 4.4.18 版本
pecl install https://pecl.php.net/get/swoole-4.4.18.tgz
常见命令
# 查询 php 配置文件目录,以及加载的 ini 文件列表
php --ini
# 查询 php 扩展模块(.so)目录
php -i | grep "extension_dir" | awk ' /php/ { print $3"/"}'
# 查询 php 安装成功的扩展列表
php -m
安装扩展
-
扩展安装 pecl install {xxx}
-
定位到配置加载目录,我的目录为 /etc/php/7.1/cli/conf.d/, 这里可以输入 php --ini 获取
-
加载对应扩展,输入如下格式的命令
sudo echo 'extension={xxx}.so' >> /etc/php/7.1/conf.d/{ num-xxx}.ini
这里的 xxx 指扩展包名, num-xxx则是指序号+拓展包名,这里的序号很重要,这将会决定包加载的顺序,因为部分包是存在依赖关系的, 例如 mysli 就依赖于 mysqlnd, 所以 mysqlnd 前面的序号(num)就要小于后者。
-
检查扩展是否安装成功, 输入以下命令
php -m
若无异常,则可以顺利看到对应包已成功加载。