Skip to content

首先进入解压后的php源码包目录

[root@nagios ~]# cd /software/php-7.1.4/
[root@nagios php-7.1.4]# ll
总用量 6036
drwxrwxr-x. 75 junxi junxi    4096 4月  11 23:37 ext
-rw-rw-r--.  1 junxi junxi   20917 4月  11 23:37 EXTENSIONS
-rw-rw-r--.  1 junxi junxi     137 4月  11 23:37 footer
-rw-rw-r--.  1 junxi junxi    1776 4月  11 23:37 generated_lists
-rwxrwxr-x.  1 junxi junxi     581 4月  11 23:37 genfiles
-rw-rw-r--.  1 junxi junxi    1143 4月  11 23:37 header
drwxr-xr-x.  2 root  root        6 4月  19 16:47 include
-rw-rw-r--.  1 junxi junxi   87836 4月  11 23:37 INSTALL
-rw-rw-r--.  1 junxi junxi       0 4月  11 23:37 install-sh
-rw-r--r--   1 root  root     1306 4月  24 10:34 libphp7.la
drwxr-xr-x.  2 root  root       42 4月  24 10:34 libs
-rwxr-xr-x   1 root  root   210702 4月  24 10:31 libtool
-rw-rw-r--.  1 junxi junxi    3218 4月  11 23:37 LICENSE
-rw-rw-r--.  1 junxi junxi  199728 4月  11 23:37 ltmain.sh
drwxrwxr-x.  4 junxi junxi    4096 4月  24 10:34 main
-rwxrwxr-x.  1 junxi junxi    4129 4月  11 23:37 makedist
-rw-r--r--.  1 root  root   290359 4月  24 10:31 Makefile
-rw-rw-r--.  1 junxi junxi    5317 4月  11 23:37 makerpm
-rw-rw-r--.  1 junxi junxi       0 4月  11 23:37 missing
-rw-rw-r--.  1 junxi junxi       0 4月  11 23:37 mkinstalldirs
drwxr-xr-x.  2 root  root       41 4月  24 10:34 modules
drwxrwxr-x.  2 junxi junxi      42 4月  11 23:37 netware
-rw-rw-r--.  1 junxi junxi  130944 4月  11 23:37 NEWS
drwxrwxr-x.  3 junxi junxi     115 4月  19 16:48 pear
-rw-r--r--   1 root  root     1489 4月  24 10:31 php7.spec
-rw-rw-r--.  1 junxi junxi    1489 4月  11 23:37 php7.spec.in
-rw-rw-r--.  1 junxi junxi    2523 4月  11 23:37 php.gif
-rw-rw-r--.  1 junxi junxi   71063 4月  11 23:37 php.ini-development
-rw-rw-r--.  1 junxi junxi   71095 4月  11 23:37 php.ini-productionEXTENSIONS
-rw-rw-r--.  1 junxi junxi   15355 4月  11 23:37 README.STREAMS
-rw-rw-r--.  1 junxi junxi    8126 4月  11 23:37 README.SUBMITTING_PATCH
-rw-rw-r--.  1 junxi junxi    6695 4月  11 23:37 README.TESTING
-rw-rw-r--.  1 junxi junxi    4958 4月  11 23:37 README.TESTING2
-rw-rw-r--.  1 junxi junxi    4261 4月  11 23:37 README.UNIX-BUILD-SYSTEM
-rw-rw-r--.  1 junxi junxi     109 4月  11 23:37 README.WIN32-BUILD-SYSTEM
-rwxrwxr-x.  1 junxi junxi   82234 4月  11 23:37 run-tests.php
drwxrwxr-x. 10 junxi junxi     118 4月  11 23:37 sapi
drwxrwxr-x.  4 junxi junxi     137 4月  24 10:31 scripts
-rwxrwxr-x.  1 junxi junxi    2104 4月  11 23:37 server-tests-config.php
-rwxrwxr-x.  1 junxi junxi   52726 4月  11 23:37 server-tests.php
-rwxrwxr-x.  1 junxi junxi     108 4月  11 23:37 snapshot
-rw-rw-r--.  1 junxi junxi      10 4月  11 23:37 stamp-h.in
-rw-rw-r--.  1 junxi junxi       1 4月  11 23:37 stub.c
drwxrwxr-x. 10 junxi junxi     142 4月  11 23:37 tests
drwxrwxr-x.  3 junxi junxi      35 4月  11 23:37 travis
drwxrwxr-x.  4 junxi junxi    4096 4月  19 16:55 TSRM
-rw-rw-r--.  1 junxi junxi   23356 4月  11 23:37 UPGRADING
-rw-rw-r--.  1 junxi junxi    3418 4月  11 23:37 UPGRADING.INTERNALS
-rwxrwxr-x.  1 junxi junxi     159 4月  11 23:37 vcsclean
drwxrwxr-x.  3 junxi junxi    4096 4月  11 23:37 win32
drwxrwxr-x.  5 junxi junxi   12288 4月  19 16:56 Zend

进入ext目录

[root@nagios php-7.1.4]# cd ext/

ext目录下都是php扩展库

[root@nagios ext]# ll
总用量 132
drwxrwxr-x.  4 junxi junxi  141 4月  11 23:37 bcmath
drwxrwxr-x.  3 junxi junxi  157 4月  11 23:37 bz2
drwxrwxr-x.  3 junxi junxi  255 4月  11 23:37 calendar
drwxrwxr-x.  3 junxi junxi 4096 4月  11 23:37 com_dotnet
drwxrwxr-x.  4 junxi junxi  183 4月  19 16:51 ctype
drwxrwxr-x.  4 junxi junxi 4096 4月  19 16:51 curl
drwxrwxr-x.  5 junxi junxi  179 4月  19 16:49 date
drwxrwxr-x.  6 junxi junxi 4096 4月  11 23:37 dba
drwxrwxr-x.  5 junxi junxi 4096 4月  19 16:51 dom
drwxrwxr-x.  4 junxi junxi  138 4月  11 23:37 enchant
drwxrwxr-x.  3 junxi junxi  171 4月  11 23:37 exif
-rwxrwxr-x.  1 junxi junxi 8669 4月  11 23:37 ext_skel
-rw-rw-r--.  1 junxi junxi 1169 4月  11 23:37 ext_skel_win32.php
drwxrwxr-x.  5 junxi junxi 4096 4月  19 16:51 fileinfo
drwxrwxr-x.  5 junxi junxi 4096 4月  19 16:51 filter
drwxrwxr-x.  4 junxi junxi  223 4月  19 16:51 ftp
drwxrwxr-x.  5 junxi junxi  236 4月  19 16:51 gd
drwxrwxr-x.  3 junxi junxi  107 4月  11 23:37 gettext
drwxrwxr-x.  3 junxi junxi  146 4月  11 23:37 gmp
drwxrwxr-x.  4 junxi junxi 4096 4月  19 16:52 hash
drwxrwxr-x.  4 junxi junxi 4096 4月  19 16:52 iconv
drwxrwxr-x.  3 junxi junxi  133 4月  11 23:37 imap
drwxrwxr-x.  3 junxi junxi  249 4月  11 23:37 interbase
drwxrwxr-x. 21 junxi junxi 4096 4月  11 23:37 intl
drwxrwxr-x.  4 junxi junxi 4096 4月  19 16:52 json
drwxrwxr-x.  3 junxi junxi  145 4月  11 23:37 ldap
drwxrwxr-x.  4 junxi junxi  175 4月  19 16:49 libxml
drwxrwxr-x.  7 junxi junxi 4096 4月  19 16:53 mbstring
drwxrwxr-x.  3 junxi junxi  167 4月  11 23:37 mcrypt
drwxrwxr-x.  4 junxi junxi 4096 4月  19 16:53 mysqli
drwxrwxr-x.  3 junxi junxi 4096 4月  19 16:55 mysqlnd
drwxrwxr-x.  3 junxi junxi 4096 4月  11 23:37 oci8
drwxrwxr-x.  3 junxi junxi  172 4月  11 23:37 odbc
drwxrwxr-x.  5 junxi junxi 4096 4月  19 16:49 opcache
drwxrwxr-x.  4 junxi junxi  238 4月  19 16:49 openssl
drwxrwxr-x.  3 junxi junxi  180 4月  11 23:37 pcntl
drwxrwxr-x.  5 junxi junxi  215 4月  19 16:50 pcre
drwxrwxr-x.  4 junxi junxi 4096 4月  19 16:53 pdo
drwxrwxr-x.  3 junxi junxi  214 4月  11 23:37 pdo_dblib
drwxrwxr-x.  3 junxi junxi  220 4月  11 23:37 pdo_firebird
drwxrwxr-x.  3 junxi junxi  264 4月  11 23:37 pdo_mysql
drwxrwxr-x.  3 junxi junxi  195 4月  11 23:37 pdo_oci
drwxrwxr-x.  3 junxi junxi  215 4月  11 23:37 pdo_odbc
drwxrwxr-x.  3 junxi junxi  205 4月  11 23:37 pdo_pgsql
drwxrwxr-x.  4 junxi junxi 4096 4月  19 16:53 pdo_sqlite
drwxrwxr-x.  3 junxi junxi  157 4月  11 23:37 pgsql
drwxrwxr-x.  5 junxi junxi 4096 4月  24 10:34 phar
drwxrwxr-x.  4 junxi junxi  148 4月  19 16:53 posix
drwxrwxr-x.  3 junxi junxi  119 4月  11 23:37 pspell
drwxrwxr-x.  3 junxi junxi  175 4月  11 23:37 readline
drwxrwxr-x.  3 junxi junxi  105 4月  11 23:37 recode
drwxrwxr-x.  4 junxi junxi  179 4月  19 16:53 reflection
drwxrwxr-x.  4 junxi junxi 4096 4月  19 16:53 session
drwxrwxr-x.  3 junxi junxi  156 4月  11 23:37 shmop
drwxrwxr-x.  5 junxi junxi  277 4月  19 16:53 simplexml
drwxrwxr-x.  3 junxi junxi  134 4月  11 23:37 skeleton
drwxrwxr-x.  3 junxi junxi  101 4月  11 23:37 snmp
drwxrwxr-x.  4 junxi junxi 4096 4月  11 23:37 soap
drwxrwxr-x.  3 junxi junxi 4096 4月  11 23:37 sockets
drwxrwxr-x.  6 junxi junxi 4096 4月  19 16:53 spl
drwxrwxr-x.  5 junxi junxi  202 4月  19 16:50 sqlite3
drwxrwxr-x.  5 junxi junxi 8192 4月  24 10:33 standard
drwxrwxr-x.  3 junxi junxi  108 4月  11 23:37 sysvmsg
drwxrwxr-x.  3 junxi junxi  108 4月  11 23:37 sysvsem
drwxrwxr-x.  3 junxi junxi  126 4月  11 23:37 sysvshm
drwxrwxr-x.  4 junxi junxi  170 4月  11 23:37 tidy
drwxrwxr-x.  4 junxi junxi 4096 4月  19 16:54 tokenizer
drwxrwxr-x.  3 junxi junxi  142 4月  11 23:37 wddx
drwxrwxr-x.  4 junxi junxi  244 4月  19 16:54 xml
drwxrwxr-x.  5 junxi junxi  236 4月  19 16:54 xmlreader
drwxrwxr-x.  4 junxi junxi  150 4月  11 23:37 xmlrpc
drwxrwxr-x.  5 junxi junxi  242 4月  19 16:54 xmlwriter
drwxrwxr-x.  3 junxi junxi  142 4月  11 23:37 xsl
drwxrwxr-x.  6 junxi junxi  273 4月  19 16:54 zip
drwxrwxr-x.  4 junxi junxi 4096 4月  19 16:51 zlib

例如我们需要使用sockets扩展模块

进入sockets扩展库目录下

[root@nagios ext]# cd sockets/
[root@nagios sockets]# ll
总用量 228
-rw-rw-r--. 1 junxi junxi  1963 4月  11 23:37 config.m4
-rw-rw-r--. 1 junxi junxi   615 4月  11 23:37 config.w32
-rw-rw-r--. 1 junxi junxi 43928 4月  11 23:37 conversions.c
-rw-rw-r--. 1 junxi junxi  2571 4月  11 23:37 conversions.h
-rw-rw-r--. 1 junxi junxi    76 4月  11 23:37 CREDITS
-rw-rw-r--. 1 junxi junxi 21045 4月  11 23:37 multicast.c
-rw-rw-r--. 1 junxi junxi  3775 4月  11 23:37 multicast.h
-rw-rw-r--. 1 junxi junxi  1826 4月  11 23:37 package.xml
-rw-rw-r--. 1 junxi junxi  3387 4月  11 23:37 php_sockets.h
-rw-rw-r--. 1 junxi junxi 12746 4月  11 23:37 sendrecvmsg.c
-rw-rw-r--. 1 junxi junxi  1067 4月  11 23:37 sendrecvmsg.h
-rw-rw-r--. 1 junxi junxi  3854 4月  11 23:37 sockaddr_conv.c
-rw-rw-r--. 1 junxi junxi   904 4月  11 23:37 sockaddr_conv.h
-rw-rw-r--. 1 junxi junxi 65902 4月  11 23:37 sockets.c
drwxrwxr-x. 2 junxi junxi  4096 4月  11 23:37 tests
-rw-rw-r--. 1 junxi junxi 14696 4月  11 23:37 unix_socket_constants.h
-rw-rw-r--. 1 junxi junxi  5764 4月  11 23:37 win32_socket_constants.h
-rw-rw-r--. 1 junxi junxi  4031 4月  11 23:37 windows_common.h

使用phpize命令来扩展php扩展模块,建立php的外挂模块

[root@nagios sockets]# /usr/local/php/bin/phpize 
Configuring for:
PHP Api Version:         20160303
Zend Module Api No:      20160303
Zend Extension Api No:   320160303

编译和安装

[root@nagios sockets]# ./configure --prefix=/usr/local/php/lib --with-php-config=/usr/local/php/bin/php-config --enable-sockets

[root@nagios sockets]# make && make install

查看扩展库模块存放目录下是否有我们新安装的扩展模块

[root@nagios lib]# ll /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/
总用量 5296
-rwxr-xr-x 1 root root 3417092 4月  24 10:34 opcache.a
-rwxr-xr-x 1 root root 1632504 4月  24 10:34 opcache.so
-rwxr-xr-x 1 root root  366176 4月  27 17:18 sockets.so

接下来我们只要在php.ini文件里添加扩展的模块名即可。

extension=sockets.so

然后重启php-fpm服务和web服务。