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

前言

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

准备

  首先,需要php-develgcc这样的编译软件。

  注:这里是以ius提供的php7.0为例,其他的软件还请自行修改。

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

编译

  以安装 swoole 为例:

pecl install 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 或者 apache 即可。 swoole