国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【redis學(xué)習(xí)二】多php版本下phpredis擴(kuò)展安裝

siberiawolf / 2489人閱讀

摘要:背景安裝完之后,需要安裝擴(kuò)展,才能讓操作本機有多個版本,安裝過程中遇到的坑分享一下。四問題修復(fù)已修復(fù),但是原因可能不太準(zhǔn)確編譯報錯最初以為是多個版本生成問題,采用指定版本,指定位置。

背景:安裝完redis之后,需要安裝phpredis擴(kuò)展,才能讓php操作redis;本機有多個php版本,安裝過程中遇到的坑分享一下。

一 下載

git上下載redis的擴(kuò)展包

git clone https://github.com/nicolasff/phpredis
二 掛載和configure

在shell中輸入 phpize 【注意:多個php版本的時候需要指定】

 ./configure 

【phpize是用來擴(kuò)展php擴(kuò)展模塊的,通過phpize可以建立php的外掛模塊】

注意:(phpize 如果包含多個php,必須指定位置)

cuihuan:phpredis cuixiaohuan$ ../php/bin/phpize
Configuring for:
PHP Api Version:         20121113
Zend Module Api No:      20121212
Zend Extension Api No:   220121212
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.

報錯的話需要安裝:brew install autoconf [phpize 報錯] 否則沒有phpize

[work@cuixiaozhuai phpredis]$ ../php/bin/phpize        
Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20060613
Zend Extension Api No:   220060519
[work@cuixiaozhuai phpredis]$  ./configure --with-php-config=/home/work/thirdparty/php5/bin/php-config 

當(dāng)存在多個版本的php的時候,需要指定配置文件

 ./configure --with-php-config=/home/work/thirdparty/php5/bin/php-config 
三 編譯和安裝

make 之后最好make test
make install

cuihuan:phpredis cuixiaohuan$ make
。。。
Build complete.
Don"t forget to run "make test".

cuihuan:phpredis cuixiaohuan$ make test
cuihuan:phpredis cuixiaohuan$ make install
四 問題修復(fù)

【已修復(fù),但是原因可能不太準(zhǔn)確】
make編譯報錯

.libs/redis_cluster.o(.data.rel.local+0x0): In function `ht_free_seed":
/home/work/thirdparty/php5/php5/phpredis/redis_cluster.c:226:     multiple definition of `arginfo_scan"
.libs/redis.o(.data.rel.local+0xe0):/home/work/thirdparty/php5/php5/p hpredis/redis.c:452: first defined here
/usr/bin/ld: Warning: size of symbol `arginfo_scan" changed from 160 in .libs/redis.o to 200 in .libs/redis_cluster.o
.libs/redis_cluster.o(.data.rel.local+0xe0): In function `create_cluster_context":
/home/work/thirdparty/php5/php5/phpredis/redis_cluster.c:276:     multiple definition of `arginfo_kscan"
.libs/redis.o(.data.rel.local+0x0):/home/work/thirdparty/php5/php5/phpredis/redis.c:364: first defined here
collect2: ld returned 1 exit status
make: *** [redis.la] Error 1

最初以為是php多個版本生成install問題,采用./configure 指定php版本,指定php位置。
但是效果還是有問題。
最終通過修改redis_cluester.c 中,注釋掉了這兩個重復(fù)的

  40 

  41 /* Argument info for HSCAN, SSCAN, HSCAN */

  42 /*ZEND_BEGIN_ARG_INFO_EX(arginfo_kscan, 0, 0, 2)

  43     ZEND_ARG_INFO(0, str_key)

  44     ZEND_ARG_INFO(1, i_iterator)

  45     ZEND_ARG_INFO(0, str_pattern)

  46     ZEND_ARG_INFO(0, i_count)

  47 ZEND_END_ARG_INFO();

  48 */

  49 

  50 /* Argument infor for SCAN */

  51 /*

  52 ZEND_BEGIN_ARG_INFO_EX(arginfo_scan, 0, 0, 2)

  53     ZEND_ARG_INFO(1, i_iterator)

  54     ZEND_ARG_INFO(0, str_node)

  55     ZEND_ARG_INFO(0, str_pattern)

  56     ZEND_ARG_INFO(0, i_count)

  57 ZEND_END_ARG_INFO();

  58 */
  
  
五 簡單測試
connect("127.0.0.1",6379);

    echo "redis pass and status show
"; var_dump($redis->ping()); $redis->set("test_key","test_value"); echo "test set val=".$redis->get("test_key")."
"; $redis->setnx("unique_key","unique_val"); $redis->setnx("unique_key","unique_val_2"); echo $redis->get("unique_key"); sleep(60); echo "is exist".$redis->exists("test_60s"); echo "not has value".$redis->get("test_60s"); $redis->delete("test_key","test_60s");

個人小站原文鏈接

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/21146.html

相關(guān)文章

  • windows XAMPP環(huán)境安裝phpredis擴(kuò)展

    摘要:在網(wǎng)上找到很多的安裝操作都是在下編譯安裝,沒有下可執(zhí)行文件,找到個別的可執(zhí)行文件在我的環(huán)境下還不能安裝,最后也不知道從哪里下來的擴(kuò)展文件終于給整好了。好啦到此擴(kuò)展安裝結(jié)束。 最近項目中需要用到redis,之前接觸redis比較少,所以對redis的了解也還只是停留在當(dāng)時學(xué)習(xí)階段。于是乎,網(wǎng)上搜了一下,各種google,也請教了同事。花了好長一個上午時間才給整出來。在網(wǎng)上找到很多的安裝操...

    Meils 評論0 收藏0
  • Redis安裝以及PHP開啟Redis擴(kuò)展

    摘要:下安裝以及使用一安裝檢查是否有源下載的倉庫安裝數(shù)據(jù)庫安裝完畢后,使用下面的命令啟動服務(wù)啟動停止查看運行狀態(tài)查看進(jìn)程設(shè)置為開機自動啟動進(jìn)入服務(wù)進(jìn)入本機列出所有防火墻開放相應(yīng)端口開啟開啟保存下執(zhí)行二修改默認(rèn)端口和密碼打 CentOS7 linux下yum安裝redis以及使用 一、安裝redis1、檢查是否有redis yum 源yum install redis 2、下載fedora的e...

    Lavender 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<