PHP 扩展如何手动安装

625 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第5天,点击查看活动详情

前言

言归正传,我们直接开撸

步骤

首先到php的安装包(我用的源码编译安装)下,下面有一个名为ext的文件,如图:

image.png

进入到php解压文件夹下的文件中

cd ext 

使用:ls命令可以看到下面已经有一些扩展了,如图:

ls

如果这下面没有你需要的扩展就要到网上去下载了

很幸运这下面已经有我需要的mysqli扩展包了,接下来进入到mysqli文件里面:

$ cd mysqli 

接下来需要使用的phpize

phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块,详细的讲解网上有的,有兴趣了解可以去度娘。 

直接输入 phpize

$ phpize

如图:

image.png

如果这样不行可以使用:find 命令查一下phpize的位置

$ find / -name phpize

如图:

image.png

然后使用 /usr/local/bin/phpize

$ /usr/local/bin/phpize

如图:

image.png

接下来以此使用:

$ ./configure -prefix=/usr/local/mysqli
$ make
$ make install

这三个命令的意思分别是,制定编译的配置项目,通过make命令完成编译,再通过make install命令实现把编译完的文件安装确认

在使用完make install之后会生成一个新的目录文件,如图所示:

image.png

还有一点很重要不要忘记了,就是把生成的mysqli.so文件加入到php.ini的配置中。 

因为我的 php.ini 配置文件在 /usr/local/lib/ 目录下 这里直接使用 vi 命令编辑php.ini配置文件

$ vi /usr/local/lib/php.ini

image.png

在配置中加入.so扩展的启用

extension = /usr/local/lib/php/extensions/no-debug-non-zts-20100525/mysqli.so

image.png

最后使用:service httpd restart命令重启下服务就OK了! 

检验安装结果

在程序中使用 phpinfo();

<?php
    echo phpinfo();

就能看到有mysqli这项扩展的内容了:

image.png

总结

其实在我看来,手动安装php的扩展还是蛮方便

除了内置的一些扩展应用,比如 gd 库 可以通过 extension 命令在 php.ini 配置中直接启用和禁用之外

其余所有的扩展都可以通过编译安装的方式手动的安装

总结下来,无所就是先找到安装包,如果官方的ext文件中没有找到你需要的安装包,可以手动去官网下载所需要的安装包

解压以后重复上述的步骤即可

唯一要注意的是phpize这个命令

因为php的版本会存在不一样的情况,通过phpize才能和扩展建立对应php版本的关联

只有关联建立以后,编译和编译安装才能通过