ppNode 提供了100多个 PHP 扩展,应该来说是国内最全的了,这要归功于 Remi Repo 的贡献。
一般情况下,只要直接安装 PHP 扩展安装包就可以直接使用了。
但是如果一些情况下,你需要使用特定版本的 PHP 扩展,可能需要自行编译安装 PHP 扩展。
下面以 yaf v3.0.7 扩展为例介绍编译安装 PHP 7.1 扩展的步骤:
1. 下载源码包
所有的 PHP 扩展都可以在 http://pecl.php.net/ 上找到源码包。
yaf 扩展的页面为:http://pecl.php.net/package/yaf
下载源码包命令:
wget http://pecl.php.net/get/yaf-3.0.7.tgz
2. 解压源码包
tar zxf yaf-3.0.7.tgz
3. 安装 PHP 开发包
yum install appnode-php71-php-devel -y
4. 切换到 PHP 7.1 环境
AppNode 使用 SCL 规范打包多版本并存的 PHP 环境,因此要切换到 7.1 版本下进行编译。
使用以下命令切换到 PHP 7.1 环境:
scl enable appnode-php71 bash
切换后使用命令 php -v
查看下 PHP 版本,确实是 7.1
# php -vPHP 7.1.19 (cli) (built: Jul 20 2018 10:47:58) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.1.19, Copyright (c) 1999-2018, by Zend Technologies
5. 编译安装 yaf 扩展
使用以下命令编译安装 yaf 扩展:
phpize
./configure
make && make install
编译安装完成后,我们可以看到最后一行输出:
Installing shared extensions: /opt/appnode/appnode-php71/root/usr/lib64/php/modules/
说明扩展模块文件已安装到 /opt/appnode/appnode-php71/root/usr/lib64/php/modules/
目录下。
使用命令查看下:
# ls /opt/appnode/appnode-php71/root/usr/lib64/php/modules/ | grep yafyaf.so
yaf.so
就是 yaf 扩展模块。
6. 增加 yaf 扩展的配置
在 PHP 7.1 的扩展配置文件目录下,创建 yaf 的配置文件。
PHP 7.1 的扩展配置文件目录位于:
/etc/opt/appnode/scls/appnode-php71/php.d/
其它版本的配置文件目录请参考:https://help.appnode.com/command/software-env.html
在这个目录下,创建文件 99-yaf.ini,并写入 yaf 模块加载配置,如:
extension=zip.so
也可以直接使用命令写入配置文件:
echo "extension=zip.so" > /etc/opt/appnode/scls/appnode-php71/php.d/99-yaf.ini
配置文件前缀 99-
表示扩展的加载顺序(有些扩展会依赖其它扩展,需要自行确认)。
7. 测试扩展是否生效
php -m | grep yaf
如果有输出 yaf ,说明扩展已生效。
8. 退出 PHP 7.1 环境
exit