跳到主要内容

通过 RPM 包安装的 PHP 编译 PECL 扩展

2016年8月20日
通过 RPM 包安装的 PHP 编译 PECL 扩展

前言

一般来说,通过软件仓库安装的 PHP,默认就有很多 PECL 扩展可以安装了,例如 apcu,仅需 yum install apcu 就可以完成 APCu 的安装了,那么如果是像 swoole 这样的扩展就没有预编译好的软件包了,需要我们自己编译,这就可以讲解一下。

准备

首先,我们需要 php-develgcc 这样的编译软件。 注:我这里是以 ius 提供的 php7.0 为例,其他的软件还请自行修改。

yum install php70u-devel  zlib-devel curl-devel gcc

编译

这里以安装 swoole 为例

pecl install swoole

就会自动编译安装。

安装

编译好了,支持完成 swoole.so 文件的编译,并没有安装到 php,所以我们需要修改配置文件。 这里以 php—FPM 为例,适用于 nginx 或者 httpd 跑 php-fpm 的环境:

cd /etc/php.d
sudo touch swoole.ini
echo "extension=swoole.so" | sudo tee -a swoole.ini

然后重启 php-fpm 即可。 这里以 mod_php 为例,适用于传统的 LAMP 环境:

cd `/etc/php/mods-available`
sudo touch swoole.ini
echo "extension=swoole.so" | sudo tee -a swoole.ini

ln -s /etc/php5/mods-available/swoole.ini /etc/php5/cli/conf.d/swoole.ini

然后重启 httpd 或者 apache2 即可。