编译php时忘记添加某扩展,后来想添加扩展,但是因为安装php后又装了一些东西如PEAR等,不想删除目录重装,别说,php还真有这样的功能.
phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块,下面以安装openssl为例,找到源码包的ext文件夹,进入后找到openssl目录,执行如下命令:
- cpconfig0.m4config.m4
- /usr/local/php5/bin/phpize
- ./configure–with-php-config=/usr/local/php5/bin/php-config
- make
- makeinstall
最后就是编辑/usr/local/php5/lib/php.ini(注意:这里要核实下具体有效的php.ini放置在哪里?),代码如下:
extension_dir=”/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/”
extension = “openssl.so”
其他的编辑也是依此类推,安装外置模块后,检查的话可以直接通过phpinfo或者命令行检查,命令行检查如下:
/usr/local/php5/bin/php -m
找找看,openssl是否正常挂载了,若有问题的话,查看相应的日志文件,按实际问题做相应的处理.
另外再看一个soap安装为例子,代码如下:
- cd/home/zhangy/php-5.2.6/ext/soap#ext目录下面放的是php的模块库
- /usr/local/php/bin/phpize
- #确定php-config文件在不在,调用php-config,安装后.so文件会自动放到extension_dir里面
- ./configure--enable-soap--with-php-config=/usr/local/php/bin/php-config
- make&&makeinstall
安装完后会有这样的东西,代码如下:
- Seeanyoperatingsystemdocumentationaboutsharedlibrariesfor
- moreinformation,suchastheld(1)andld.so(8)manualpages.
- ----------------------------------------------------------------------
- Buildcomplete.
- Don'tforgettorun'maketest'.
- Installingsharedextensions:/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
查看.so文件,以及修改php.ini,代码如下:
- cd/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
- ls-al|grepsoap--phpfensi.com
- -rwxr-xr-x1rootroot763334Feb910:51soap.so
- vi/usr/local/php/lib/php.ini