日期:2014-05-17  浏览次数:20552 次

php 不重新编译 添加 ftp 模块

以添加ftp模块为例子

进入源码目录

cd php-5.2.9/ext/ftp
#运行phpize生成configure

/usr/local/php529/bin/phpize

?

Configuring for:
PHP Api Version:???????? 20041225
Zend Module Api No:????? 20060613
Zend Extension Api No:?? 220060519

如果出现

Cannot find autoconf. Please check your autoconf installation and the? $PHP_AUTOCONF? environment variable is set correctly and then rerun this script.

?

则安装以下2个包

?

# wget http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz
# tar -zvxf m4-1.4.9.tar.gz
# cd m4-1.4.9/
# ./configure && make && make install
# cd ../
# wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.62.tar.gz
# tar -zvxf autoconf-2.62.tar.gz
# cd autoconf-2.62/
# ./configure && make && make install

?

然后开始配置

#编译,指定php-config,注意这里的php-config,不是php.ini

./configure --with-php-config=/usr/local/php529/bin/php-config
#上面可以添加--enable-ftp,也可以不用添加

#编译安装

make && make install
cd modules/

ls

ftp.la ftp.so

#复制ftp.so到模块目录

cp ftp.so /usr/local/php529/lib/php/extensions

?

#编辑php.ini文件,指定PHP到哪个目录读模块

vi /usr/local/php529/etc/php.ini

extension_dir="/usr/local/php5/lib/php/extensions"
#Load模块
extension=ftp.so
#保存退出

重启apache
再用/usr/local/php/bin/php -m|grep ftp查看是否有ftp.so