首页技术php安装扩展(php扩展开发)

php安装扩展(php扩展开发)

编程之家2026-06-271075次浏览

这篇文章给大家聊聊关于php安装扩展,以及php扩展开发对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

php安装扩展(php扩展开发)

如何安装新的PHP扩展模块

php安装好后,可能在初次安装时,会有些模块会有遗漏,但是我们又不想重新编译php,因为耗时是比较长的。我们可不可以在不重新编译安装php的情况下,来为php单独添加某一个模块呢?查找资料,发现还是有方法的,重点就是phpize了,于是写了这篇文章.

下面我们就以单独为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

php安装扩展(php扩展开发)

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

php安装扩展(php扩展开发)

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

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

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

如何编译安装PHP扩展

一开始安装PHP的时候,我们并不知道需要哪些扩展,所以只有等到我们真正用到的时候才想办法去安装。

安装PHP扩展最简单的办法就是

sudo apt-get install php5-xxx

但有的时候并非我们所愿,源里面并没有我们需要的扩展,这时候就需要我们下载源码自己编译安装了。

这篇文章中我将介绍在本地Linux平台下编译安装PHP扩展的方法。

现在网站根目录下创建 index.php打印基本的配置信息,以验证我们是否安装成功。

配置编译环境

我们需要安装一些编译必须的库,还有 php-dev版本

Ubuntu

sudo apt-get install php5-dev php5-mysql gcc libpcre3-dev

Fedora

sudo yum install php-devel php-mysqlnd gcc libtool

RHEL

sudo yum install php-devel php-mysql gcc libtool

Suse

yast2-i php5-pear php5-devel php5-mysql gcc

安装扩展

PHP有两种可供安装的扩展:一种是PHP原生的但是默认没有安装的,另一种的第三方开发的扩展。

下面依次介绍两种扩展的安装方法:

安装之前我们需要一份和当前机器上相同版本的PHP源码

cd code

wget

tar xvjf php-5.5.9.tar.bz2

cd php-5.5.9

前往此处下载相应的源码包。

在/ext目录下面可以看到所有PHP原生的扩展。

安装原生扩展

以 PHP-intl为例,这是PHP国际化的扩展。

为了安装这个扩展我们需要先安装ICU库

sudo apt-get install icu-devtools icu-doc libicu-dev libicu52 libicu52-dbg

ICU安装成功之后进入/ext/intl目录:

cd intl

phpize

./configure--enable-intl

make

sudo make install

下面解释一下上面的每个命令:

phpize:是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块

./configure--enable-intl:配置编译环境,相当于告诉编译器编译PHP源码的时候加上intl这个扩展。

make:将会把源码编译成 intl.so

make install:将会把 intl.so移动到当前安装的 PHP的扩展目录。

接下来我们要做的就是在php.ini中启用这个扩展,这一步将会在最后给出示例。

安装第三方扩展

将以这个扩展为例,这个扩展主要实现了PHP识别条形码的功能。

先安装必要的依赖

sudo apt-get install pkg-config

git clone

cd mongo-php-driver

phpize

./configure

make

sudo make install

将会生成一个文件,将其拷贝到PHP的扩展目录下面。

启用扩展

在php.ini中启用扩展的方式有很多:

直接在php.ini文件中添加 extension=mongo.so,这是最简单直接的方法。

也可以单独建一个ini文件,然后在php.ini中包含这些文件就可以了。

下面介绍一下第二种方法:

cd `/etc/php5/mods-available`

这个目录里可以放新建的ini文件,然后执行

sudo touch mongo.ini

echo"extension=mongo.so"| sudo tee-a mongo.ini

sudo touch intl.ini

echo"extension=intl.so"| sudo tee-a intl.ini

上面的命令将会创建ini文件,并且写如相应的配置信息。

然后执行下面的命令启用扩展即可(需要安装 php5enmod工具):

sudo php5enmod mongo

sudo php5enmod intl

如果未安装 php5enmod工具,则需要手动配置:

ln-s/etc/php5/mods-available/mongo.ini/etc/php5/cli/conf.d/mongo.ini

ln-s/etc/php5/mods-available/intl.ini/etc/php5/cli/conf.d/intl.ini

ln-s/etc/php5/mods-available/mongo.ini/etc/php5/fpm/conf.d/mongo.ini

ln-s/etc/php5/mods-available/intl.ini/etc/php5/fpm/conf.d/intl.ini

最后在执行一下重启操作就可以了:

sudo service nginx restart

sudo service php5-fpm restart

如何加载php扩展功能

当服务器上PHP已经安装好,需要额外添加PHP扩展时怎么办?不需要重新安装PHP,有了phpize我们可以在原有的PHP基础之上直接安装扩展库。

这次编译仅仅只是单独编译PHP的扩展库,接下来将编译好的扩展库加入到现在运行的php中,不对现在运行的php重新编译,所以没有一点的影响。

下面我们演示安装xsl的扩展(不一定常用,仅做为一个范例)

做法一:

1.找到当前运行的php版本的源代码目录,如php-5.2.3。进入xsl扩展库目录。

$cd/home/pkgs/php-5.3.3/ext/xsl

2.调用phpize程序生成编译配置文件。

$/home/app/php5.3.3/bin/phpize

3.编译扩展库,分别执行下面的configure和make命令。

$./configure-with-php-config=/home/app/php5.3.3/bin/php-config

这一步执行通过后,再执行make命令,如果configure执行不通过,则查找错误原因。

$make

#make成功执行后,生成的扩展库文件在当前目录的 modules子目录下,

如/home/php-5.3.3/ext/curl/modules/xsl.so

4.配置php.ini文件

#将编译好的扩展库文件复制到PHP的扩展目录下,可通过查看phpinfo信息。。

$ cp/home/pkg/php-5.3.3/ext/xsl/modules/xsl.so/home/app/php5.3.3/lib/php/extensions/no-debug-non-zts-20090626

#在php.ini文件中找到设置扩展目录的位置,然后将扩展路径设置到php安装目录/extension/no-debug-non....目录下,并添加扩展库位置。

extension_dir/home/app/php5.3.3/lib/php/extensions/no-debug-non-zts-20090626”

extension=xsl.so

5.重启php,查看phpinfo信息,即可看到刚才添加进去的xsl扩展库。(如果有多个php-fpm进程的话,平滑重启主进程即可:kill-USR2 pid)

关于php安装扩展和php扩展开发的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

html css是什么 html和css的区别php安装目录在哪 php目录结构