PHP安装扩展的方式分为三种:

  1. 软件源安装、如果说运行环境是用yum | apt-get 安装的php可以在用此命令安装扩展
  2. 通过pecl安装。pecl是php的扩展命令。如果安装成功php后自带pecl install <扩展名>
  3. 如果php运行环境、禁用了一些函数popen。pecl可能下载不了。那么需要从官网下载到本地安装

本地安装扩展的方式

下面以redis进行举例

现去http://pecl.php.net/php官方扩展库去下载个redis包

也可以直接 wget http://pecl.php.net/get/redis-3.1.2.tgz

命令步骤

tar -xvf redis-3.1.2.tgz

cd redis-3.1.2

phpize      
 
#因为我的php bin目录已经写到系统环境里面了 
#所以进入目录下可以直接执行 不然的话前面是/usr/local/php/bin/phpize

因为官方扩展是没有configure文件,所以要用phpize命令生产一下。

phpize是什么东西呢?
php官方的说明:

http://php.net/manual/en/install.pecl.phpize.php

phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块。
比如你想在原来编译好的php中加入memcached或者ImageMagick等扩展模块,可以使用phpize,通过以下几步工作。

如何使用phpize?
当php编译完成后,php的bin目录下会有phpize这个脚本文件。在编译你要添加的扩展模块之前,执行以下phpize就可以了;

下面接着安装

./configure –with-php-config=/usr/local/php/bin/php-config  

make && make install

如果phpize在环境变量中已经设置 那么可以省略 –with-php-config参数

上面的操作完成后,会在/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303目录下生成出一个redis.so文件,下面我们需要把这个so文件加到php.ini中,如果你不重新指定扩展文件目录,可以不用再php.ini加

extension_dir="/usr/local/php/lib/php/extensions/no-debug-non-zts-XXXXXX/",这一条。

然后在php.ini末尾加入即可

;extension_dir="/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/"
extension=redis.so
Last modification:January 4, 2020
如果觉得我的文章对你有用,请随意赞赏