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/
其中的日期 20160303
是 phpize
执行时得到的 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
如果未安装成功,将不会有任何输出。
网友评论