动态编译加载php模块

1. 查看php支持编译哪些模块
[root@localhost ~]# cd php-5.6.28/ext/
[root@localhost ext]# ls
bcmath      curl     ereg                filter   hash       json      mssql    odbc     pdo           pdo_odbc    posix       session    soap      sybase_ct  tokenizer  xmlwriter
bz2         date     exif                ftp      iconv      ldap      mysql    opcache  pdo_dblib     pdo_pgsql   pspell      shmop      sockets   sysvmsg    wddx       xsl
calendar    dba      ext_skel            gd       imap       libxml    mysqli   openssl  pdo_firebird  pdo_sqlite  readline    simplexml  spl       sysvsem    xml        zip
com_dotnet  dom      ext_skel_win32.php  gettext  interbase  mbstring  mysqlnd  pcntl    pdo_mysql     pgsql       recode      skeleton   sqlite3   sysvshm    xmlreader  zlib
ctype       enchant  fileinfo            gmp      intl       mcrypt    oci8     pcre     pdo_oci       phar        reflection  snmp       standard  tidy       xmlrpc
2. 假设编译mbstring模块

进入mbstring的源码包目录,利用phpize生成configure文件

[root@localhost ext]# cd mbstring/
[root@localhost mbstring]# /usr/local/php/bin/php
php         php-cgi     php-config  phpize      
[root@localhost mbstring]# /usr/local/php/bin/phpize 
Configuring for:
PHP Api Version:         20131106
Zend Module Api No:      20131226
Zend Extension Api No:   220131226
[root@localhost mbstring]# ls
acinclude.m4    build         config.m4   configure.in  install-sh  Makefile.global  mbstring.c    missing        php_mbregex.c      php_unicode.c  README.libmbfl       tests
aclocal.m4      config.guess  config.sub  config.w32    libmbfl     mb_gpc.c         mbstring.dsp  mkinstalldirs  php_mbregex.h      php_unicode.h  README_PHP3-i18n-ja  ucgendat
autom4te.cache  config.h.in   configure   CREDITS       ltmain.sh   mb_gpc.h         mbstring.h    oniguruma      php_onig_compat.h  README         run-tests.php        unicode_data.h
[root@localhost mbstring]# ./configure --with-php-config=/usr/local/php/bin/php-config
[root@localhost mbstring]# make && make install

编译完成后生成的文件存放在:

[root@localhost mbstring]# ls /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/
curl.so  mbstring.so  opcache.so  zip.so
3. 修改php.ini文件extension支持mbstring.so
extension=mbstring.so

你可能感兴趣的:(动态编译加载php模块)