PHP扩展模块安装
[root@HANLIN ~]#cd /usr/local/src
[root@HANLIN src]#wget https://codeload.github.com/phpredis/phpredis/zip/develop
[root@HANLIN src]#mv develop phpredis-develop.zip
[root@HANLIN src]#unzip phpredis-develop.zip
Archive: phpredis-develop.zip
[root@HANLIN src]#cd phpredis-develop/
[root@HANLIN phpredis-develop]#ls (没有confihure文件,需要用ize来生成)
arrays.markdown CREDITS mkdeb.sh redis_cluster.c
cluster_library.c debian package.xml redis_cluster.h
cluster_library.h debian.control php_redis.h redis_commands.c
cluster.markdown INSTALL.markdown README.markdown redis_commands.h
common.h ISSUE_TEMPLATE.md redis_array.c redis_session.c
config.m4 liblzf redis_array.h redis_session.h
config.w32 library.c redis_array_impl.c rpm
COPYING library.h redis_array_impl.h serialize.list
crc16.h mkdeb-apache2.sh redis.c tests
[root@HANLIN phpredis-develop]#/usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20131106
Zend Module Api No: 20131226
Zend Extension Api No: 220131226
[root@HANLIN phpredis-develop]# ls
acinclude.m4 configure library.h redis_array_impl.h
aclocal.m4 configure.in ltmain.sh redis.c
arrays.markdown config.w32 Makefile.global redis_cluster.c
autom4te.cache COPYING missing redis_cluster.h
build crc16.h mkdeb-apache2.sh redis_commands.c
cluster_library.c CREDITS mkdeb.sh redis_commands.h
cluster_library.h debian mkinstalldirs redis_session.c
cluster.markdown debian.control package.xml redis_session.h
common.h INSTALL.markdown php_redis.h rpm
config.guess install-sh README.markdown run-tests.php
config.h.in ISSUE_TEMPLATE.md redis_array.c serialize.list
config.m4 liblzf redis_array.h tests
config.sub library.c redis_array_impl.c
[root@HANLIN phpredis-develop]# ./configure --with-php-config=/usr/local/php/bin/php-config
[root@HANLIN phpredis-develop]#make
[root@HANLIN phpredis-develop]#make install
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20131226/ (扩展模块默认安装路径)
[root@HANLIN phpredis-develop]# ls /usr/local/php/lib/php/extensions/no-debug-zts-20131226/
opcache.so redis.so
[root@HANLIN phpredis-develop]# /usr/local/php/bin/php -i |grep -i extension_dir
extension_dir => /usr/local/php/lib/php/extensions/no-debug-zts-20131226 => /usr/local/php/lib/php/extensions/no-debug-zts-20131226
sqlite3.extension_dir => no value => no value
[root@HANLIN phpredis-develop]# vim /usr/local/php/etc/php.ini
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
;extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
;extension=php_shmop.dll
extension=redis.so
[root@HANLIN phpredis-develop]# /usr/local/php/bin/php -m |grep redis
redis
[root@HANLIN php-5.6.32]#cd /usr/local/src/php-5.6.32/ext (php源码包里这个目录下有很多扩展模块)
[root@HANLIN ext]# ll
总用量 120
drwxr-xr-x. 4 hanlin-16 hanlin-16 141 10月 25 2017 bcmath
drwxr-xr-x. 4 hanlin-16 hanlin-16 220 10月 23 03:00 bz2
drwxr-xr-x. 3 hanlin-16 hanlin-16 255 10月 25 2017 calendar
drwxr-xr-x. 3 hanlin-16 hanlin-16 4096 10月 25 2017 com_dotnet
drwxr-xr-x. 4 hanlin-16 hanlin-16 185 10月 23 03:00 ctype
drwxr-xr-x. 3 hanlin-16 hanlin-16 190 10月 25 2017 curl
drwxr-xr-x. 5 hanlin-16 hanlin-16 161 10月 23 02:59 date
drwxr-xr-x. 6 hanlin-16 hanlin-16 4096 10月 25 2017 dba
drwxr-xr-x. 5 hanlin-16 hanlin-16 4096 10月 23 03:00 dom
drwxr-xr-x. 4 hanlin-16 hanlin-16 138 10月 25 2017 enchant
drwxr-xr-x. 5 hanlin-16 hanlin-16 181 10月 23 02:59 ereg
drwxr-xr-x. 4 hanlin-16 hanlin-16 215 10月 23 03:00 exif
-rwxr-xr-x. 1 hanlin-16 hanlin-16 8574 10月 25 2017 ext_skel
-rw-r--r--. 1 hanlin-16 hanlin-16 1524 10月 25 2017 ext_skel_win32.php
drwxr-xr-x. 5 hanlin-16 hanlin-16 4096 10月 23 03:00 fileinfo
如果想编译一个扩展模块的时候,如果源码包里有相对应的,那就不需要下载了,直接进入该目录,运行ize然后编译
[root@HANLIN ext]# cd zip
[root@HANLIN zip]#/usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20131106
Zend Module Api No: 20131226
Zend Extension Api No: 220131226
然后再./configure即可
[root@HANLIN zip]#./configure --with-php-config=/usr/local/php/bin/php-config (哪怕模块已经被编译过了,也可以在固定扩展模块路径再添加一个.so出来)