1. 程式人生 > >windows下php7.1安裝redis擴充套件以及redis測試使用全過程

windows下php7.1安裝redis擴充套件以及redis測試使用全過程

       最近做專案,需要用到redis相關知識。在Linux下,redis擴充套件安裝起來很容易,但windows下還是會出問題的。因此,特此記下自己實踐安裝的整個過程,以方便後來人。

      一,php中redis擴充套件安裝配置

    1, 首先第一點,也是最重要一點是,你要知道你的php版本資訊,這會決定你的擴充套件檔案版本。特別需要記住一點的是,redis選擇x64或者x86,是以php版本的Architecture是x64或者x86決定的,跟windows作業系統無關的。本人使用的是xampp整合環境,使用phpinfo()函式將php版本資訊打印出來的結果如下:


       在這裡,可以清楚的看到,architecture的結構為x86的,因此redis應該選擇為x86的(這個也是本人剛開始死活安裝不成功的原因)。OK,知道了php的版本資訊後,我們就來下載對應的redis了。下載地址為:https://pecl.php.net/package/redis。 

      2 進入下載地址,可以看到關於redis版本的一些資訊。對最新版本的redis有說明,兩個beta版本和一個stable版本。在這裡,我們使用stable版本。


      由於本人的php版本為:php version 7.1.8,滿足redis最新版本 的條件,因此選擇redis的最新版本(根據自己的php version資訊,選擇適合自己的redis版本即可)。

點選進入DLL頁面,可以看到該版本的redis資訊。如果你嫌麻煩,可以直接跳到DLL List條目下:


      在這裡,有幾種不同的選擇的格式,如果你不知道該選擇哪一款,可以看看上圖1.首先php version是7.1.8,那麼應該選擇為PHP 7.1。其次,如圖1中可以看到,PHP Extension Build為API20160303,TS,VC14,因此應該選擇TS項。然後它的Architecture為x86,所以要選擇為x86的格式。(儘管本人的windows為x64,但這個跟redis的版本選擇沒關係,所以不要被誤導)。因此,下載7.1 Thread Safe (TS) x86這個版本

      3 解壓縮後,將php_redis.dll拷貝至php的ext目錄下。有人說要將php_redis.pdb也拷貝到ext目錄下,但是本人親自實踐過,只需要將php_redis.dll拷貝至php的ext目錄下即可(這個也許是php版本的原因,大家要根據自己的實際情況,靈活處理)。

     4 修改php.ini,在該檔案中加入:

; php_redis

extension=php_redis.dll

    在這裡,本人的xampp安裝在C盤下,因此php.ini的路徑為:C:\xampp\php\php.ini。修改即可。

    5 重啟Apache,執行phpinfo()函式,搜尋頁面,可以看到redis擴充套件已經配置成功了。


        二, windows系統中,安裝redis的server和client

       2  根據實際情況,將其安裝(也就是根據實際情況,將對應的檔案copy到自定義目錄下)。例如本人的windows為64位,因此將64bit的內容拷貝到自定義目錄C:\redis下。

       3 開啟cmd,cd c:\redis 切換到Redis-server.exe目錄,執行redis-server.exe redis.conf;下圖表示啟動成功:

      

 4 原有的視窗不要關閉(如果關閉,則訪問不了redis伺服器),另起一個視窗,切換到redis目錄下執行 redis-cli.exe -h 127.0.0.1 -p 6379。如下圖,可以看到redis-cli啟動成功:

5 使用redis測試,結果證明成功:

      三  在Thinkphp3.2中進行測試,此時,redis-server不能關閉,否則會出錯。程式碼如下:

                $redis = new \Redis();
                $redis->connect(C('REDIS_HOST'), C('REDIS_PORT'));
                $redis->set('myname', 'manu'); //設定值
                $res = $redis->get('myname');
                echo $res;
    最後的輸出結果為,說明redis的安裝已成功。