注: 本節操做使用PHP7。php
查看PHP模塊:mysql
[root@cham002 ~]# /usr/local/php/bin/php -m [PHP Modules] bz2 Core ctype date dom ereg exif fileinfo filter gd hash iconv json libxml mbstring mcrypt mysql mysqli openssl pcre PDO pdo_mysql pdo_sqlite Phar posix Reflection session SimpleXML soap sockets SPL sqlite3 standard tokenizer xml xmlreader xmlwriter zlib [Zend Modules]
redis是一個key-value存儲系統。和Memcached相似,它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)和zset(有序集合)。linux
[root@cham002 ~]# cd /usr/local/src/ [root@cham002 src]# ls apr-1.6.3 apr-util-1.6.1.tar.bz2 mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz php-5.6.30.tar.gz apr-1.6.3.tar.gz httpd-2.4.29 mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz php-7.1.6 apr-util-1.6.1 httpd-2.4.29.tar.gz php-5.6.30 php-7.1.6.tar.bz2 [root@cham002 src]# wget https://codeload.github.com/phpredis/phpredis/zip/develop --2017-12-27 02:00:01-- https://codeload.github.com/phpredis/phpredis/zip/develop 正在解析主機 codeload.github.com (codeload.github.com)... 192.30.255.120, 192.30.255.121 正在鏈接 codeload.github.com (codeload.github.com)|192.30.255.120|:443... 已鏈接。 已發出 HTTP 請求,正在等待迴應... 200 OK 長度:未指定 [application/zip] 正在保存至: 「develop」 [ <=> ] 228,014 129KB/s 用時 1.7s 2017-12-27 02:00:04 (129 KB/s) - 「develop」 已保存 [228014] [root@cham002 src]# du -sh develop 224K develop [root@cham002 src]# mv develop phpredis-develop.zip [root@cham002 src]# ls apr-1.6.3 httpd-2.4.29 php-5.6.30 phpredis-develop.zip apr-1.6.3.tar.gz httpd-2.4.29.tar.gz php-5.6.30.tar.gz apr-util-1.6.1 mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz php-7.1.6 apr-util-1.6.1.tar.bz2 mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz php-7.1.6.tar.bz2 [root@cham002 src]# unzip phpredis-develop.zip [root@cham002 src]# cd phpredis-develop/ [root@cham002 phpredis-develop]# ls arrays.markdown config.m4 debian library.h README.markdown redis.c redis_session.c cluster_library.c config.w32 debian.control mkdeb-apache2.sh redis_array.c redis_cluster.c redis_session.h cluster_library.h COPYING ISSUE_TEMPLATE.md mkdeb.sh redis_array.h redis_cluster.h rpm cluster.markdown crc16.h liblzf package.xml redis_array_impl.c redis_commands.c serialize.list common.h CREDITS library.c php_redis.h redis_array_impl.h redis_commands.h tests [root@cham002 phpredis-develop]# /usr/local/php7/bin/phpize #執行該命令的目的是生成configure文件,不然沒法進行編譯安裝 Configuring for: PHP Api Version: 20160303 Zend Module Api No: 20160303 Zend Extension Api No: 320160303 [root@cham002 phpredis-develop]# echo $? 0 #沒有出錯 若是報如下錯:安裝autoconf這個包 yum install -y autoconf Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script. [root@cham002 phpredis-develop]# ls acinclude.m4 common.h COPYING library.c package.xml redis_cluster.c serialize.list aclocal.m4 config.guess crc16.h library.h php_redis.h redis_cluster.h tests arrays.markdown config.h.in CREDITS ltmain.sh README.markdown redis_commands.c autom4te.cache config.m4 debian Makefile.global redis_array.c redis_commands.h build config.sub debian.control missing redis_array.h redis_session.c cluster_library.c configure install-sh mkdeb-apache2.sh redis_array_impl.c redis_session.h cluster_library.h configure.in ISSUE_TEMPLATE.md mkdeb.sh redis_array_impl.h rpm cluster.markdown config.w32 liblzf mkinstalldirs redis.c run-tests.php 開始安裝 環境配置 [root@cham002 phpredis-develop]# ./configure --with-php-config=/usr/local/php7/bin/php-config 完成後檢測 [root@cham002 phpredis-develop]# echo $? 0 編譯&安裝 [root@cham002 phpredis-develop]# make [root@cham002 phpredis-develop]# echo $? 0 [root@cham002 phpredis-develop]# make install Installing shared extensions: /usr/local/php7/lib/php/extensions/no-debug-zts-20160303/ [root@cham002 phpredis-develop]# echo $? 0 [root@cham002 phpredis-develop]# ls /usr/local/php7/lib/php/extensions/no-debug-zts-20160303/ opcache.so redis.so
爲PHP加載Redis模塊git
先查看擴展模塊所在目錄:github
[root@cham002 phpredis-develop]# /usr/local/php7/bin/php -i |grep extension_dir extension_dir => /usr/local/php7/lib/php/extensions/no-debug-zts-20160303 => /usr/local/php7/lib/php/extensions/no-debug-zts-20160303 sqlite3.extension_dir => no value => no value
說明: 該目錄能夠在PHP配置文件php.ini中進行設置(保持默認)redis
編輯PHP的配置文件:sql
[root@cham002 phpredis-develop]# vim /usr/local/php7/etc/php.ini
說明: 在配置文件中加入「extension=redis.so」便可!該文件中「;」表示註釋符號,同「#」。apache
[root@cham002 phpredis-develop]# /usr/local/php7/bin/php -m |grep redis redis
在PHP的源碼包中沒有第三方模塊的包,可是在PHP源碼包的/ext/目錄下有好多擴展模塊,若是所須要的擴展模塊在該目錄下,能夠直接進行安裝:json
[root@cham002 phpredis-develop]# cd /usr/local/src/php-7.1.6/ [root@cham002 php-7.1.6]# ls acinclude.m4 EXTENSIONS Makefile.fragments README.EXT_SKEL run-tests.php aclocal.m4 footer Makefile.gcov README.GIT-RULES sapi appveyor generated_lists Makefile.global README.input_filter scripts build genfiles Makefile.objects README.MAILINGLIST_RULES server-tests-config.php buildconf header makerpm README.md server-tests.php buildconf.bat include meta_ccld README.namespaces snapshot CODING_STANDARDS INSTALL missing README.NEW-OUTPUT-API stamp-h.in config.guess install-sh mkinstalldirs README.PARAMETER_PARSING_API stub.c config.log libphp7.la modules README.REDIST.BINS tests config.nice libs netware README.RELEASE_PROCESS travis config.status libtool NEWS README.SELF-CONTAINED-EXTENSIONS TSRM config.sub LICENSE pear README.STREAMS UPGRADING configure ltmain.sh php7.spec README.SUBMITTING_PATCH UPGRADING.INTERNALS configure.in main php7.spec.in README.TESTING vcsclean CONTRIBUTING.md makedist php.gif README.TESTING2 win32 CREDITS Makefile php.ini-development README.UNIX-BUILD-SYSTEM Zend ext Makefile.frag php.ini-production README.WIN32-BUILD-SYSTEM [root@cham002 php-7.1.6]# ls ext bcmath dom gd json odbc pdo_mysql pspell snmp sysvshm xsl bz2 enchant gettext ldap opcache pdo_oci readline soap tidy zip calendar exif gmp libxml openssl pdo_odbc recode sockets tokenizer zlib com_dotnet ext_skel hash mbstring pcntl pdo_pgsql reflection spl wddx ctype ext_skel_win32.php iconv mcrypt pcre pdo_sqlite session sqlite3 xml curl fileinfo imap mysqli pdo pgsql shmop standard xmlreader date filter interbase mysqlnd pdo_dblib phar simplexml sysvmsg xmlrpc dba ftp intl oci8 pdo_firebird posix skeleton sysvsem xmlwriter
如今擴展模塊中沒有zipvim
[root@cham002 php-7.1.6]# /usr/local/php7/bin/php -m |grep zip 如今擴展模塊中沒有zip [root@cham002 php-7.1.6]# cd ext [root@cham002 ext]# cd zip [root@cham002 zip]# /usr/local/php7/bin/phpize Configuring for: PHP Api Version: 20160303 Zend Module Api No: 20160303 Zend Extension Api No: 320160303 #執行該命令的目的是生成configure文件,不然沒法進行編譯安裝 [root@cham002 zip]# ./configure --with-php-config=/usr/local/php7/bin/php-config [root@cham002 zip]# echo $? 0
接下來就make我出現了這種錯誤。沒有沒有截圖。能夠用#make clean
而後在從新執行命令
[root@cham002 zip]# make install Installing shared extensions: /usr/local/php7/lib/php/extensions/no-debug-zts-20160303/ [root@cham002 zip]# ls /usr/local/php7/lib/php/extensions/no-debug-zts-20160303/ opcache.so redis.so zip.so