php安裝redis拓展

1. 查看是否安裝redis庫

查看是否安裝redis庫了。可以通過下面2種方式查看。

 phpinfo()是否能輸出redis的加載信息
 在命令行執行`php -m` 輸出gd

2. 安裝redis庫

2.1 安裝redis庫(源碼安裝)

下載phpredis3.1.2

wget https://github.com/phpredis/phpredis/archive/3.1.2.tar.gz

解壓後在phpredis3.1.2目錄下執行

tar -zxvf  3.1.2.tar.gz && cd phpredis-3.1.2/
phpize extension =/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/redis.so  #路徑根據實際         

注:如果沒有phpize,需要安裝php-dev,可以執行apt-get install php-dev

./configure  --with-php-config=/usr/local/php-5.6.30/bin/php-config  #php-config爲已安裝php的腳本文件。用於獲取所安裝的php配置的信息
make  && make install               

一般情況下安裝完成後會在/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/目錄下生成redis.so
配置php.ini,添加一行

extension = redis.so

2.2 重啓php

ps -ef | grep php-fpm | awk ‘{print $2}’| xargs kill ; /usr/local/php/sbin/php-fpm

2.3 重啓nginx

/usr/local/nginx/sbin/nginx -s restart

3. 問題小結

3.1 重啓php報錯

NOTICE: PHP message: PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/local/php-5.6.30/lib/php/extensions/no-debug-non-zts-20131226/redis.so‘ - /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/redis.so: undefined symbol: zend_new_interned_string in Unknown on line 0
產生問題
1) 在編譯安裝redis庫時沒有指定–with-php-config= /usr/local/php-5.6.30/bin/php-config ,或指定錯誤。
解決方法
刪除整個文件,重新解壓編譯安裝。注意,如果在已編譯的文件上繼續編譯,安裝後會不生效,所以最好是刪除文件,重新解壓編譯。

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