1. 程式人生 > >Centos下給php安裝Redis擴充套件及編譯問題解決

Centos下給php安裝Redis擴充套件及編譯問題解決

1、第一步自然是去github下載原始碼了,記得加上引數 --no-check-certificate,不然https校驗會出錯

wget https://github.com/phpredis/phpredis/archive/develop.zip --no-check-certificate

2、解壓下載好的包,

unzip develop
cd phpredis-develop/

3、配置和編譯,注意修改為php的安裝目錄位置

~/php/bin/phpize 
./configure --with-php-config=~/php/bin/php-config 
make && make install

正常情況下應該就編輯好so檔案,並放到php的擴充套件目錄下了,但是我在編譯時出錯了:

.libs/redis_cluster.o:(.data.rel.local+0x0): multiple definition of `arginfo_kscan'
.libs/redis.o:(.data.rel.local+0xa0): first defined here
.libs/redis_cluster.o:(.data.rel.local+0xe0): multiple definition of `arginfo_scan'
.libs/redis.o:(.data.rel.local+0x0): first defined here

看錯誤是叢集的程式碼問題,反正我的環境用不上叢集,就註釋掉這段程式碼吧:
vim redis_cluster.c
找到41行,註釋這2段程式碼:
/* Argument info for HSCAN, SSCAN, HSCAN */
/*ZEND_BEGIN_ARG_INFO_EX(arginfo_kscan, 0, 0, 2)
    ZEND_ARG_INFO(0, str_key)
    ZEND_ARG_INFO(1, i_iterator)
    ZEND_ARG_INFO(0, str_pattern)
    ZEND_ARG_INFO(0, i_count)
ZEND_END_ARG_INFO();*/

/* Argument infor for SCAN */
/*ZEND_BEGIN_ARG_INFO_EX(arginfo_scan, 0, 0, 2)
    ZEND_ARG_INFO(1, i_iterator)
    ZEND_ARG_INFO(0, str_node)
    ZEND_ARG_INFO(0, str_pattern)
    ZEND_ARG_INFO(0, i_count)
ZEND_END_ARG_INFO();*/

儲存後繼續make && make install,這回是調用出錯了:
phpredis-develop/redis_cluster.c:177: error: 'arginfo_scan' undeclared here (not in a function)
phpredis-develop/redis_cluster.c:178: error: 'arginfo_kscan' undeclared here (not in a function)

繼續編輯檔案,刪除下面4行呼叫程式碼:
PHP_ME(RedisCluster, evalsha, NULL, ZEND_ACC_PUBLIC)
//PHP_ME(RedisCluster, scan, arginfo_scan, ZEND_ACC_PUBLIC)
//PHP_ME(RedisCluster, sscan, arginfo_kscan, ZEND_ACC_PUBLIC)
//PHP_ME(RedisCluster, zscan, arginfo_kscan, ZEND_ACC_PUBLIC)
//PHP_ME(RedisCluster, hscan, arginfo_kscan, ZEND_ACC_PUBLIC)

ok,儲存退出後再make && make install,這回成功了,

返回檢視php/ext目錄,有redis.so擴充套件了,重啟php-fpm再看看phpinfo(),就有redis資訊了:

Redis Support	enabled
Redis Version	2.2.5

寫一段程式碼測試下吧:
$redis = new Redis();
$conn = $redis->connect('127.0.0.1',6379);
var_dump($redis->info());

頁面應該會顯示出redis的資訊

相關推薦

Centosphp安裝Redis擴充套件編譯問題解決

1、第一步自然是去github下載原始碼了,記得加上引數 --no-check-certificate,不然https校驗會出錯 wget https://github.com/phpredis/phpredis/archive/develop.zip --no-check

LinuxPHP安裝redis擴充套件

一、下載redis擴充套件原始碼包 PHP官網下載地址:http://pecl.php.net/package/redis 二、安裝依賴外掛 yum -y install wget make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-de

php安裝redis擴充套件操作redis

                        &nbs

WindowsPHP安裝redis擴充套件

1.使用phpinfo()函式檢視PHP的版本資訊,這會決定擴充套件檔案版本。 2.下載php_igbinary-1.2.1-5.5-ts-vc11-x64.zip,php_redis-2.2.5-5.6-ts-vc11-x64.zip(一定要保證版本的正確性) 下載地址

centosphp安裝fileinfo擴充套件隨記

背景:專案介面上傳圖片失敗,獲取不到任何引數,網上搜索資料說是沒有fileinfo擴充套件的原因。1、在原始碼目錄下找到fileinfo目錄並進入cd /xxx/xxx/php-7.2.7/ext/fileinfo/2、在該目錄下執行phpize安裝擴充套件。/usr/loc

WindowsPHP安裝redis擴充套件以及使用方法

1.使用phpinfo()函式檢視PHP的版本資訊,這會決定擴充套件檔案版本。 2.下載php_igbinary-1.2.1-5.5-ts-vc11-x64.zip,php_redis-2.2.5-5.6-ts-vc11-x64.zip(一定要保證版本的正確性) 下載

centos使用原始碼安裝redisphp-redis

安裝php-redis wget https://github.com/phpredis/phpredis/archive/3.1.2.tar.gz tar -zxvf 3.1.2.tar.gz cd phpredis-3.1.2 /usr/bin/phpize      

windows php安裝redis擴充套件

下載網站連結https://pecl.php.net/package/redis 1.下載php_redis.dll,下載地址https://pecl.php.net/package/redis 2.找到php安裝目錄將下載的包裡面的這兩個檔案放到ext資料夾裡 php_redis.dll

Linuxphp安裝Redis擴充套件(其他擴充套件同理)

1、cd  /usr/local/src/  切換到 3、tar zxvf   2.2.4.tar.gz  解壓檔案 4、cd  phpredis-2.2.4      #進入安裝目錄 5 、/usr/local/php/bin/phpize    # 使用 php

windows環境在xampp中php安裝mongoDB擴充套件

在win環境下安裝php擴充套件都是非常簡單的,一般就是下載對應的dll放到php/ext/中就可以了,具體的過程就不說了,說一下安裝的時候遇到的問題,一開始使用了最新的php_mongo.dll,導致一直安裝失敗,彈

linux,nginxphp安裝Redis擴充套件的方法

1、安裝redis 下載:https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz 上傳phpredis-2.2.4.tar.gz到/usr/local/src目錄 1 2 3 4 5 6 7 cd

WindowPHP 安裝redis擴充套件

換了電腦發現打算重新安裝redis,發現之前的的文章的連結用不了了,然後自己在網上重新找了資料,現在做些記錄 下載redis 根據自己系統下載對應版本下載redis 安裝redis比較簡單,直接解壓到C盤,重新命名為redis,開啟cmd 切換到redi

win10 php安裝redis擴充套件實用

1、首先安裝phpstudy2016,執行起來選擇伺服器和PHP版本如下: 2、安裝MSVC對應版本 先檢視phpinfo資訊 下載對應的MSVC11版本安裝:http://www.phpstudy.NET/ 3、下載Redis擴充套件  到:http:

win10 php安裝redis擴充套件

1、首先安裝phpstudy2016,執行起來選擇伺服器和php版本如下: 2、安裝MSVC對應版本 先檢視phpinfo資訊 下載對應的MSVC11版本安裝:http://www.phpstudy.net/ 3、下載redis擴充套件  到:http://window

Linuxphp安裝Redis擴充套件

安裝環境:CentOS 6.4  1、下載 下載地址:http://pecl.php.net/package/redis 檔名:phpredis-2.2.4.tar.gz 檔案下載成功後,上傳至/usr/local 2、安裝 [[email pr

WindowsPHP安裝redis擴展

toolbar nec 修改 ESS title apache -name php安裝 width 1.使用phpinfo()函數查看PHP的版本信息,這會決定擴展文件版本。 2.下載php_igbinary-1.2.1-5.5-ts-vc11-x64.zip,ph

【window】Windows10PHP安裝redis擴展

5.1 windows10 span round pre pdb 安裝redis擴展 mile bin 操作: 步驟1:D:\wamp\bin\apache\apache2.4.9\bin/php.ini中添加 ; php_redis extension=php_igb

Centos6PHP安裝Qconf擴展

pre ast mas ini 安裝目錄 make fpm cal php的擴展 一、下載Qconf的zip包 1.進入github地址:https://github.com/Qihoo360/QConf,下載zip包文件,並上傳至服務器二、安裝QConf

redis慢查詢日誌、php安裝redis擴充套件redis儲存session、redis主從配置

一:redis慢查詢日誌 編輯配置檔案/etc/redis.conf針對慢查詢日誌,可以設定兩個引數,一個是執行時長,單位是微秒,另一個是慢查詢日誌的長度。當一個新的命令被寫入日誌時,最老的一條會從命令日誌佇列中被移除。 slowlog-log-slower-than 1000 //單位ms,表示慢於100

redis慢查詢日誌,php安裝redis擴充套件redis儲存session,redis主從配置

redis慢查詢日誌 和mysql一樣redis也有慢查詢日誌,redis的慢查詢日誌預設是開啟的。針對慢查詢日誌,主要是設定兩個引數,一個是執行時長,單位是微秒,另一個是慢查詢日誌的長度。當一個新的命令被寫入日誌時,最老的一條會從命令日誌佇列中被移除。 編輯配置檔案,檔案中搜素slowlog,可以設