php安裝redis拓展

1. 查看是否安裝redis庫

查看是否安裝redis庫了。能夠經過下面2種方式查看。php

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

2. 安裝redis庫

2.1 安裝redis庫(源碼安裝)

下載phpredis3.1.2nginx

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

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

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-devgithub

./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,添加一行web

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 ,或指定錯誤。
解決方法
刪除整個文件,從新解壓編譯安裝。注意,若是在已編譯的文件上繼續編譯,安裝後會不生效,因此最好是刪除文件,從新解壓編譯。redis

相關文章
相關標籤/搜索