11.32 php扩展模块装安装

1.32 php动态扩展模块安装

注: 本节操作使用PHP7。

查看PHP模块:

1[root@cham002 ~]# /usr/local/php/bin/php -m 2[PHP Modules] 3bz2 4Core 5ctype 6date 7dom 8ereg 9exif 10fileinfo 11filter 12gd 13hash 14iconv 15json 16libxml 17mbstring 18mcrypt 19mysql 20mysqli 21openssl 22pcre 23PDO 24pdo_mysql 25pdo_sqlite 26Phar 27posix 28Reflection 29session 30SimpleXML 31soap 32sockets 33SPL 34sqlite3 35standard 36tokenizer 37xml 38xmlreader 39xmlwriter 40zlib 41 42[Zend Modules]

安装Redis模块

redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。

1[root@cham002 ~]# cd /usr/local/src/ 2[root@cham002 src]# ls 3apr-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 4apr-1.6.3.tar.gz httpd-2.4.29 mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz php-7.1.6 5apr-util-1.6.1 httpd-2.4.29.tar.gz php-5.6.30 php-7.1.6.tar.bz2 6[root@cham002 src]# wget https://codeload.github.com/phpredis/phpredis/zip/develop 7--2017-12-27 02:00:01-- https://codeload.github.com/phpredis/phpredis/zip/develop 8正在解析主机 codeload.github.com (codeload.github.com)... 192.30.255.120, 192.30.255.121 9正在连接 codeload.github.com (codeload.github.com)|192.30.255.120|:443... 已连接。 10已发出 HTTP 请求,正在等待回应... 200 OK 11长度:未指定 [application/zip] 12正在保存至: “develop” 13 14 [ <=> ] 228,014 129KB/s 用时 1.7s 15 162017-12-27 02:00:04 (129 KB/s) - “develop” 已保存 [228014] 17[root@cham002 src]# du -sh develop 18224K develop 19[root@cham002 src]# mv develop phpredis-develop.zip 20[root@cham002 src]# ls 21apr-1.6.3 httpd-2.4.29 php-5.6.30 phpredis-develop.zip 22apr-1.6.3.tar.gz httpd-2.4.29.tar.gz php-5.6.30.tar.gz 23apr-util-1.6.1 mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz php-7.1.6 24apr-util-1.6.1.tar.bz2 mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz php-7.1.6.tar.bz2 25 26[root@cham002 src]# unzip phpredis-develop.zip 27 28[root@cham002 src]# cd phpredis-develop/ 29[root@cham002 phpredis-develop]# ls 30arrays.markdown config.m4 debian library.h README.markdown redis.c redis_session.c 31cluster_library.c config.w32 debian.control mkdeb-apache2.sh redis_array.c redis_cluster.c redis_session.h 32cluster_library.h COPYING ISSUE_TEMPLATE.md mkdeb.sh redis_array.h redis_cluster.h rpm 33cluster.markdown crc16.h liblzf package.xml redis_array_impl.c redis_commands.c serialize.list 34common.h CREDITS library.c php_redis.h redis_array_impl.h redis_commands.h tests 35 36 37[root@cham002 phpredis-develop]# /usr/local/php7/bin/phpize 38#执行该命令的目的是生成configure文件,否则无法进行编译安装 39Configuring for: 40PHP Api Version: 20160303 41Zend Module Api No: 20160303 42Zend Extension Api No: 320160303 43 44[root@cham002 phpredis-develop]# echo $? 450 46#没有出错 如果报以下错:安装autoconf这个包 yum install -y autoconf 47 48Cannot find autoconf. Please check your autoconf installation and the 49$PHP_AUTOCONF environment variable. Then, rerun this script. 50 51 52[root@cham002 phpredis-develop]# ls 53acinclude.m4 common.h COPYING library.c package.xml redis_cluster.c serialize.list 54aclocal.m4 config.guess crc16.h library.h php_redis.h redis_cluster.h tests 55arrays.markdown config.h.in CREDITS ltmain.sh README.markdown redis_commands.c 56autom4te.cache config.m4 debian Makefile.global redis_array.c redis_commands.h 57build config.sub debian.control missing redis_array.h redis_session.c 58cluster_library.c configure install-sh mkdeb-apache2.sh redis_array_impl.c redis_session.h 59cluster_library.h configure.in ISSUE_TEMPLATE.md mkdeb.sh redis_array_impl.h rpm 60cluster.markdown config.w32 liblzf mkinstalldirs redis.c run-tests.php 61 62开始安装 63 64环境配置 65[root@cham002 phpredis-develop]# ./configure --with-php-config=/usr/local/php7/bin/php-config 66完成后检测 67[root@cham002 phpredis-develop]# echo $? 680 69 70编译&安装 71[root@cham002 phpredis-develop]# make 72 73[root@cham002 phpredis-develop]# echo $? 740 75 76[root@cham002 phpredis-develop]# make install 77Installing shared extensions: /usr/local/php7/lib/php/extensions/no-debug-zts-20160303/ 78 79[root@cham002 phpredis-develop]# echo $? 800 81 82[root@cham002 phpredis-develop]# ls /usr/local/php7/lib/php/extensions/no-debug-zts-20160303/ 83opcache.so redis.so 84 85 86

为PHP加载Redis模块

先查看扩展模块所在目录:

1[root@cham002 phpredis-develop]# /usr/local/php7/bin/php -i |grep extension_dir 2extension_dir => /usr/local/php7/lib/php/extensions/no-debug-zts-20160303 => /usr/local/php7/lib/php/extensions/no-debug-zts-20160303 3sqlite3.extension_dir => no value => no value

说明: 该目录可以在PHP配置文件php.ini中进行设置(保持默认)

加载Redis模块

编辑PHP的配置文件:

[root@cham002 phpredis-develop]# vim /usr/local/php7/etc/php.ini

说明: 在配置文件中加入“extension=redis.so”即可!该文件中“;”表示注释符号,同“#”。

1[root@cham002 phpredis-develop]# /usr/local/php7/bin/php -m |grep redis 2redis

关于扩展板块

在PHP的源码包中没有第三方模块的包,但是在PHP源码包的/ext/目录下有好多扩展模块,如果所需要的扩展模块在该目录下,可以直接进行安装:

1[root@cham002 phpredis-develop]# cd /usr/local/src/php-7.1.6/ 2[root@cham002 php-7.1.6]# ls 3acinclude.m4 EXTENSIONS Makefile.fragments README.EXT_SKEL run-tests.php 4aclocal.m4 footer Makefile.gcov README.GIT-RULES sapi 5appveyor generated_lists Makefile.global README.input_filter scripts 6build genfiles Makefile.objects README.MAILINGLIST_RULES server-tests-config.php 7buildconf header makerpm README.md server-tests.php 8buildconf.bat include meta_ccld README.namespaces snapshot 9CODING_STANDARDS INSTALL missing README.NEW-OUTPUT-API stamp-h.in 10config.guess install-sh mkinstalldirs README.PARAMETER_PARSING_API stub.c 11config.log libphp7.la modules README.REDIST.BINS tests 12config.nice libs netware README.RELEASE_PROCESS travis 13config.status libtool NEWS README.SELF-CONTAINED-EXTENSIONS TSRM 14config.sub LICENSE pear README.STREAMS UPGRADING 15configure ltmain.sh php7.spec README.SUBMITTING_PATCH UPGRADING.INTERNALS 16configure.in main php7.spec.in README.TESTING vcsclean 17CONTRIBUTING.md makedist php.gif README.TESTING2 win32 18CREDITS Makefile php.ini-development README.UNIX-BUILD-SYSTEM Zend 19ext Makefile.frag php.ini-production README.WIN32-BUILD-SYSTEM 20 21[root@cham002 php-7.1.6]# ls ext 22bcmath dom gd json odbc pdo_mysql pspell snmp sysvshm xsl 23bz2 enchant gettext ldap opcache pdo_oci readline soap tidy zip 24calendar exif gmp libxml openssl pdo_odbc recode sockets tokenizer zlib 25com_dotnet ext_skel hash mbstring pcntl pdo_pgsql reflection spl wddx 26ctype ext_skel_win32.php iconv mcrypt pcre pdo_sqlite session sqlite3 xml 27curl fileinfo imap mysqli pdo pgsql shmop standard xmlreader 28date filter interbase mysqlnd pdo_dblib phar simplexml sysvmsg xmlrpc 29dba ftp intl oci8 pdo_firebird posix skeleton sysvsem xmlwriter

 现在扩展模块中没有zip

1[root@cham002 php-7.1.6]# /usr/local/php7/bin/php -m |grep zip 2现在扩展模块中没有zip 3[root@cham002 php-7.1.6]# cd ext 4[root@cham002 ext]# cd zip 5[root@cham002 zip]# /usr/local/php7/bin/phpize 6Configuring for: 7PHP Api Version: 20160303 8Zend Module Api No: 20160303 9Zend Extension Api No: 320160303 10#执行该命令的目的是生成configure文件,否则无法进行编译安装 11 12[root@cham002 zip]# ./configure --with-php-config=/usr/local/php7/bin/php-config 13[root@cham002 zip]# echo $? 140

接下来就make我出现了这种错误。没有没有截图。可以用#make clean

然后在重新执行命令

1[root@cham002 zip]# make install 2Installing shared extensions: /usr/local/php7/lib/php/extensions/no-debug-zts-20160303/ 3[root@cham002 zip]# ls /usr/local/php7/lib/php/extensions/no-debug-zts-20160303/ 4opcache.so redis.so zip.so
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

swap空间的增减方法

(1)增大swap空间去激活swap交换区:swapoff v /dev/vg00/lvswap扩展交换lv:lvextend L 10G /dev/vg00/lvswap重新生成swap交换区:mkswap /dev/vg00/lvswap激活新生成的交换区:swapon v /dev/vg00/lvswap

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )