php插件的安装,php安装扩展

以前以为php的扩展要重新编译php,今天在群友的指点下知道可以像apache模块一样动态扩展,以mcrypt举例。

进入要安装的扩展的源码目录

cd /root/php-5.2.6/ext/mcrypt

运行phpize

/usr/local/php5/bin/phpize

[ansi]root@Web2 11 mcrypt $/usr/local/php5/bin/phpize

Configuring for:

PHP Api Version:         20041225

Zend Module Api No:      20060613

Zend Extension Api No:   220060519

出现这样的提示说明可以扩展。

然后编译安装

#./configure --with-php-config=/usr/local/php5/bin/php-config

#make

#make install

Installing shared extensions:     /usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/

记住这里提示的路径刚才编译的module就在这里

[ansi]root@Web2 20 mcrypt $cd /usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/

[ansi]root@Web2 21 no-debug-non-zts-20060613 $ls

eaccelerator.so  mcrypt.so  memcache.so

然后编辑php.ini(如果php安装在/usr/local/php5 则php.ini在/usr/local/php5/lib/php.ini中添加

extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/"

extension = "mcrypt.so"

然后重启apache,然后再访问phpinfo.php 就看到支持mcrypt了。

使用php的常见问题是:编译php时忘记添加某扩展,后来想添加扩展,但是因为安装php后又装了一些东西如PEAR等,不想删除目录重装,别说,php还真有这样的功能。

我没有在手册中看到。

如我想增加bcmath支持,这是一个支持大整数计算的扩展。windows自带而且内置,linux“本类函数仅在 PHP 编译时配置了 --enable-bcmath 时可用”(引号内是手册中的话)

幸好有phpize,

方法是,要有与现有php完全相同的php压缩包。我用的是php-5.2.6.tar.gz。

展开后进入里面的ext/bcmath目录

然后执行/usr/local/php/bin/phpize,这是一个可执行的文本文件,要确保它在系统中

会发现当前目录下多了一些configure文件,

如果没报错,则

Php代码

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

注意要先确保/usr/local/php/bin/php-config存在。

如果你的php安装路径不是默认的,要改。

如果没有报错,则make,再make install ,然后它告诉你一个目录

你把该目录下的bcmath.so拷贝到你php.ini中的extension_dir指向的目录中,

修改php.ini,在最后添加一句extension=bcmath.so

重启apache.

手把手教你如何动态安装php的扩展模块

php安装好后,可能在初次安装时,会有些模块会有遗漏,但是我们又不想重新编译

下面我们就以单独为php加载mysqli模块为例,演示如何动态为php添加模块。

1、找到php原码安装文件

2、cd /home/php/ext/myslqi

3、运行 /usr/local/php/bin/phpize

4、/configure –with-php-config=/usr/local/php/bin/php-config

5、make && make install

6、安装完成之后会在系统/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/这个目录下面生成mysqli.so的库文件

7、编辑php.ini文件,指定php到哪人目录读取模块

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

extension_dir=”/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613″

extension=mysqli.so

8、重启php服务 /usr/local/php/sbin/php-fpm restart

7、/usr/local/php/bin/php -m|grep mysqli 查看mysqli.so是否存在

如果步骤正确,你的人口也不差的情况下,应该这样php的动态模块加载就完成了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值