以安装redis扩展为例
wget https://pecl.php.net/get/redis-5.0.0.tgz
tar xzf redis-5.0.0.tgz
cd redis-5.0.0/
/usr/bin/phpize
./configure --with-php-config=/usr/bin/php-config
make
make install
第一步:下载phpredis指定版本的源码压缩包到当前目录
第二步:解压源码包
第三步:进入源码包目录
-
第四步:用phpize生成configure配置文件
可以使用命令whereis phpize查找phpize和的文件目录同理whereis php-config
第五步:配置
第六步:编译(生成redis.so)
第七步:安装(将redis.so放到php默认的扩展目录)
最后编辑php的配置php.ini 在最后一行增加 extension=redis.so
查看扩展是否安装成功
php -m | grep redis
redis
倘若安装失败报错
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/redis.so' - /usr/lib64/php/modules/redis.so: undefined symbol: php_json_decode_ex in Unknown on line 0
出现问题的原因是:
redis扩展之前要先包含json扩展
解决办法:php会动态加载php.d的文件因此只需在里面创建redis.ini保证其是在json.ini后面加载就行然后去除/etc/php.ini文件中的extension=redis.so
cd /etc/php.d
vim redis.ini
在 redis.ini文件加入
; Enable pdo extension module
extension=redis.so
PHP使用redis
<?php
$redis = new Redis();
$config = [
'host' => '127.0.0.1',
'port' => 6379,
];
$redis->connect($config['host'], $config['port']);
$redis->set('hello','word');
$value = $redis->get('hello');
var_dump($value);