11.32 php擴展模塊裝安裝

1.32 php動態擴展模塊安裝

注: 本節操做使用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模塊

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

加載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
相關文章
相關標籤/搜索