您的位置:首页 > 编程语言 > PHP开发

php5.3动态编译gd库 zlib扩展 mcrypt扩展 mysqli扩展

2013-01-15 13:41 399 查看

编译gd

cd /usr/local/src/php-5.3.5/ext/gd


一定要在这个目录下执行

/usr/local/php/bin/phpize


接着在当前目录下执行:

./configure --with-php-config=/usr/local/php/bin/php-config  --with-jpeg-dir=/usr/local/jpeg  --with-png-dir=/usr/local/libpng   --with-freetype-dir=/usr/local/freetype

make && make install

接着修改php.ini文件  添加一行 extension=gd.so

重启,php-fpm 就ok了。。。。

编译ZLIB扩展

首先找到当初编译PHP时的目录,如果没了就找一个相同版本的解压缩,解压缩到php(假设)目录下,然后以root身份进入php/ext/zlib/目录下

执行phpize,报错:“Cannot find config.m4.”,我找了半天没找到这个文件,但是看到一个类似的“config0.m4”,就cp了一个:

cp config0.m4 config.m4


这个解决方法有点山寨,我也不知道啥意思,为什么多了一个0,反正亲自测了能行。

再执行phpize,嗯,再敢报错看我不打断你的狗腿!!这次顺利的执行完了。

/usr/local/php/bin/phpize
Configuring for:

PHP Api Version:         20100412

Zend Module Api No:      20100525

Zend Extension Api No:   220100525

都准备好之后就开始执行配置

./configure --with-php-config=/usr/local/bin/php-config --with-zlib=/usr


注意:--with-zlib=/usr这里不需要把文件目录写全,写到这里就行了,PHP的扩展在编译时都是这个德性,习惯就好了。

然后就是正式的编译和安装了:

make && make install


然后在php.ini的最后增加这么一句:

extension=zlib.so


编译mcrypt

cd /usr/local/src/php-5.3.5/ext/mcrypt


一定要在这个目录下执行

/usr/local/php/bin/phpize
接着在当前目录下执行:
./configure --with-php-config=/usr/local/php/bin/php-config

make && make install

接着修改php.ini文件  添加一行 extension=gd.so

安装mysqli扩展

cd /usr/local/src/php-5.3.5/ext/mysqli
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-mysqli=/usr/local/mysql/bin/mysql_config
一定要手动指定php和mysql的配置文件地方
make && make install
接着修改php.ini文件  添加一行 extension=mysqli.so

安装curl扩展

cd /usr/local/src/php-5.3.5/ext/curl
/usr/local/php5/bin/phpize
./configure -with-curl=/usr/local/curl -with-php-config=/usr/local/php/bin/php-config
make &&  make install 


如果报错:

checking for cURL in default path... not found

configure: error: Please reinstall the libcurl distribution -

easy.h should be in /include/curl/

那就是

yum -y install curl-devel
接着修改php.ini文件  添加一行 extension=curl.so

这个没有装

重启,php-fpm 就ok了。。。。

configure: error: libjpeg.(a|so) not found

复制代码

locate之后发现已经安装了libjpeg了,但是在/usr/lib目录下没有libjpeg.so这个文件,在/usr/lib64下是有的,虽然使用–with-jpeg-dir=/usr/lib64 依然无效,最后用

ln -s /usr/lib64/libjpeg.so /usr/lib/libjpeg.so

复制代码

解决问题,原因估计还是编译时没有在lib64下查找

类似问题

configure: error: libpng.(a|so) not found
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: