2008-11-23

Solaris下php+curl编译

  由于需要重新规划服务器的管理,所以,我们需要按照一定要求重新编译PHP。
在Solaris下编译php需要以下软件包的支持:

gcc
make
flex
bison
m4
autoconf
automake
perl
gzip
tar
GNU sed

此外,根据需求我还增加了这些软件包:

libiconv
libidn
openssl-0.9.8i
curl
expat
fontconfig
freetype
gd
libiconv
jpeg
mysql
libpng
sasl
libxml2
zlib
xpm

我的编译参数是这样:

./configure --prefix=/usr/php --with-mysql=/usr/mysql/ --with-mysqli=/opt/Webservices/mysql/bin/mysql_config --with-apxs2=/usr/httpd/bin/apxs --with-apache=/usr/httpd/ --enable-fastcgi --with-zilb=shared --with-gd=shared --with-curl=shared --with-curlwrappers=shared --with-libxml-dir=/usr/local/ --with-openssl-dir=/usr/local/ssl/ --enable-ftp --with-jpeg-dir=/usr/local/ -with-png-dir=/usr/local/ --with-xpm-dir=/usr/local/ --with-freetype-dir=/usr/local/ --enable-gd-native-ttf --enable-zip

在网上搜到with-mysqli和enable-embedded-mysqlii同时用会出错,所以我就没有测试了
这样编译完成后记得make test通过了就ok。接下来就可以了。
如果你希望不重新编译php就添加curl模块则看下面这段文章
在Wordpress中启用插件Flickr Photo Album for WordPress时,需要系统支持cURL。大多数资料里都是比较简单的方法,即在编译php时加上cURL支持但由于我的系统里已经安装有php,并且有一些其他配置,重新安装太麻烦于是找到了这篇《linux php 扩展库编译》,验证通过,转载以记录一下以php curl 扩展库编译为例。
假如原先编译的php目录在/oracle/php4目录下;apache在/oracle/apache2目录下;php源代码在/home/wugw目录下。如果实际目录与假定的目录不一致,则在下面的命令中做调整。
1. 找到当前运行的php版本的源代码目录,如 php-4.4.7。进入curl扩展库目录。$cd /home/wugw/php-4.4.7/ext/curl
2. 调用phpize程序生成编译配置文件。$/oracle/php4/bin/phpize
3. 编译扩展库,分别执行下面的configure和make命令。$./configure –with-php-config=/oracle/php4/bin/php-config
##configure这一步执行通过后,再执行make命令,如果configure执行不通过,则查找错误原因。$make
##make成功执行后,生成的扩展库文件在当前目录的 modules 子目录下,如 /home/wugw/php-4.4.7/ext/curl/modules/curl.so
4. 配置php.ini文件##将编译好的扩展库文件复制到apache2 modules目录下。$cp /home/wugw/php-4.4.7/ext/curl/modules/curl.so /oracle/apache2/modules/.
##找到php.ini文件所在目录位置,然后编辑。可以通过查看phpinfo信息来确定php.ini文件位置。##在php.ini文件中找到设置扩展目录的位置,然后将扩展路径设置到apache2 modules目录下extension_dir = “/oracle/apache2/modules/”
##在php.ini的设置扩展库位置,设置要添加的扩展库。extension=curl.so
##以后如果还要添加别的扩展库的话,则只需先将php扩展库编译好,然后copy到apache2 modules目录下,##然后再在这个位置,另取一行将编译后的扩展库文件名加上即可
5. 重启apache,查看phpinfo信息,即可看到刚才添加进去的curl扩展库。

没有评论: