今天因为调用天涯api要增加curl扩展。
安装php扩展pecl模块有有两种方式:动态.so扩展库和与php核心为一体的静态扩展
编译动态.so pecl扩展库有两种方式:pear和phpize
编译成静态pecl扩展库
refrence:http://www.php.net/manual/zh/install.pecl.php
具体流程网上有很多参照进行。但其中会遇到很多问题,比如:
你的php如果是从debian获得的。那么不管是php*-cli、php*-cgi安装都不会有phpize。要使用phpize就得再安装php*-dev。
安装好phpize后就要进行编译扩展源文件操作。这里的扩展最好从php src源码里面获取。因为按照他自己的习惯,扩展源文件下面必须要有config.m4这个文件(关于这个m4文件http://blog.chinaunix.net/space.php?uid=11636352&do=blog&id=1755590有介绍,就是M4宏处理器要处理的),如果没有就会报错提示:cannot find config.m4。
然后就./configure --repfix=/dir**/name/ make;make install;
/dir**/name/lib/下面会生成name.so。
将安装好的扩展配置到php。php -i|grep extention-dir 找到php modules的放置目录。将name.so拷贝过去,而后在php/*/conf.d(这个目录是php Additional .ini files 存放)下增加name.ini。注意上面的这个*号,由于php的工作方式有cli\cgi\fast-cgi好几种还有作为apache扩展模块等工作方式,自然配置文件也由这么多,具体那种可以通过php -i or <?php phpinfo();?>获取Configuration File (php.ini) Path信息来得到。
另外比较懒的做法就是直接apt-get安装这些文件
php-pear - PEAR - PHP Extension and Application Repository
php5 - server-side, HTML-embedded scripting language (metapackage)
php5-cgi - server-side, HTML-embedded scripting language (CGI binary)
php5-cli - command-line interpreter for the php5 scripting language
php5-common - Common files for packages built from the php5 source
php5-curl - CURL module for php5
php5-dbg - Debug symbols for PHP5
php5-dev - Files for PHP5 module development
php5-gd - GD module for php5
php5-gmp - GMP module for php5
php5-ldap - LDAP module for php5
php5-mysql - MySQL module for php5
php5-odbc - ODBC module for php5
php5-pgsql - PostgreSQL module for php5
php5-pspell - pspell module for php5
php5-recode - recode module for php5
php5-snmp - SNMP module for php5
php5-sqlite - SQLite module for php5
php5-tidy - tidy module for php5
php5-xmlrpc - XML-RPC module for php5
php5-xsl - XSL module for php5
只要apt-get install 这些扩展就行了如果你的php5也是这样安装的。因为这样php5的extension dir 默认为/usr/lib/php5/20090626+lfs。而这些安装包得so存放目录也是/usr/lib/php5/20090626+lfs,注意的就是可能name.ini存放路径。有没有很方便。如若不然就的找对应php版本的扩展然后拷贝so和ini到php info里面指出的路径。
又不是自己写扩展,只是安装而已。没啥深入的,只是配置上要注意。