首先进入解压后的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