php7安裝redis擴展

當前使用Centos7.x系統,同樣適用於Centos6.x,php當前使用7.1版本,wlnmp一鍵包已支持該擴展

redis擴展包地址:https://pecl.php.net/package/redis

1、安裝所需依賴,如果在編譯時還提示缺少其他依賴,請自行安裝

 

1

yum install autoconf gcc gcc-c++

2、下載redis最新穩定版

 

1

2

3

4

wget https://pecl.php.net/get/redis-5.0.2.tgz

tar xf redis-5.0.2.tgz

cd redis-5.0.2

/usr/local/php/bin/phpize

根據自己phpize的位置來運行即可(不知道phpize在哪的直接find / -name phpize查找),運行完提示下面信息,然後編譯

Configuring for:
PHP Api Version: 20160303
Zend Module Api No: 20160303
Zend Extension Api No: 320160303

3、編譯擴展模塊

 

1

2

3

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

make

make install

執行完成後會顯示擴展模塊編譯到的目錄/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/

4、修改php.ini添加擴展

 

1

2

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

extension=redis.so

注意:如果之前配置過extension_dir路徑了,則只需要配置extension=redis.so即可

保存退出,重啓php

通過phpinfo可看到,擴展已生效

 

重啓php service php-fpm restart
報錯:
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

這是因爲和json擴展加載順序衝突導致的

解決方法:

不要在php.ini里加入extension=redis.so這行,可在php.d文件夾下創建新文件redis.ini,在redis.ini里加入extension=redis.so這行.
重啓php
php -m 發現redis擴展加載上了

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章