美文网首页
PHP C 扩展安装的两种方式

PHP C 扩展安装的两种方式

作者: fingerQin | 来源:发表于2018-09-06 10:44 被阅读72次

    PHP 扩展有两种。一种是 PHP 编写的扩展,通过 composer 安装。一种是通过 C 编写,通过 PHP 命令来安装。今天主要讲安装 PHP C 扩展。

    1 扩展来源

    扩展主要来源于三大途径:

    1.1 PHP 官网

    通常我们都会去 pecl.php.net 下载。这是 PHP 官方维护的。我们只需要在右上角输入想安装的扩展点击搜索即能找到想要的扩展。

    1.2 GitHub

    GitHub 是全球最大的开源项目网站。很多出色的扩展基本上都会在这里找到最新的源代码。并且还能与项目开发者交流。

    1.3 其他

    比如自己开发、非 PECL & GitHub 渠道。一些私有厂商给自己的产品开发的扩展等。

    2 安装步骤

    我们以安装 Redis 扩展为例进行讲解。

    # wget http://pecl.php.net/get/redis-3.1.6.tgz
    # tar zxvf redis-3.1.6.tgz
    # cd redis-3.1.6
    # phpize
    # ./configure
    # make
    # make install
    

    2.1 phpize 做了什么?

    phpize 命令是 PHP 安装包中支持的一个命令工具。在 Linux 系统下。该命令位置 PHP 安装目录下的 sbin 目录下。它的主要工作是在安装 C 扩展的时候,根据当前系统信息生成对应的 configure 文件。configure 文件是 Linux 系统下源码安装软件必须的文件。

    2.2 配置 php.ini

    默认情况下,生成的扩展会安装在 PHP 安装包的如下目录:

    /usr/local/php71/lib/php/extensions/no-debug-non-zts-20160303/

    其中的日期 20160303phpize 执行时得到的 API 版本日期。

    要让 Redis 生效,必须在 php.ini 文件当中添加该扩展的信息。

    找到配置文件:

    # php --ini
    

    会输出如下内容:

    Configuration File (php.ini) Path: /usr/local/php71/etc
    Loaded Configuration File:         /usr/local/php71/etc/php.ini
    Scan for additional .ini files in: /usr/local/php71/etc/php.d
    Additional .ini files parsed:      (none)
    

    通过如上信息可以知道我们的配置文件在这里:/usr/local/php71/etc/php.ini

    在配置文件尾部增加如下代码:

    extension = redis.so
    

    如果要像上面这样配置,必须确定你已经正确把如下配置设置好:

    extension_dir = "/usr/local/php71/lib/php/extensions/no-debug-non-zts-20160303"
    

    设置好之后。PHP 才能正确去扩展目录下搜索 Redis 扩展。不然,就会报错。

    当然,你也可以这样设置扩展配置。

    extension = "/usr/local/php71/lib/php/extensions/no-debug-non-zts-20160303/redis.so"
    

    2.3 验证安装是否成功

    执行如下命令。

    # php -m|grep redis
    

    如果安装成功会输出如下内容:

    redis
    

    如果未安装成功,将不会有任何输出。

    相关文章

      网友评论

          本文标题:PHP C 扩展安装的两种方式

          本文链接:https://www.haomeiwen.com/subject/kvwtgftx.html