为了账号安全,请及时绑定邮箱和手机立即绑定

PHP扩展(extensions)

标签:
PHP

什么是PHP扩展?

为PHP提供一些扩展的功能

常见的PHP扩展

mysql-----提供给PHP操作MySQL数据库的功能

gd2----动态创建图像

xdebug-----跟踪、调试和分析PHP程序的运行状况

查看PHP扩展

1.使用phpinfo探针

phpinfo()---输出关于PHP配置的信息

输出PHP当前状态的大量信息,包含了PHP编译选项、启用的扩展、PHP的版本、服务器信息和环境变量(如果编译为一个模块的话)、PHP环境变量、操作系统版本信息、path变量、配置选项的本地值和主值、HTTP头和PHP授权信息(license).

以上是PHP官方对phpinfo()函数的解释,我们接下来用这个函数来做一个测试。

首先新建一个文件

<?php
 phpinfo();

保存并在浏览器打开这个页面,浏览器会输出响应的信息,其中就包括了当前我们开启了哪些PHP的扩展

2.使用get_loaded_extensions()

该函数返回了PHP解析器里所有编译并加载的模块名(既已经开启的PHP扩展)

新建文件夹

<?phpget_loaded_extensions();

会在屏幕上打印并输入所有已经加载的PHP扩展,以所以数组返回值

3.使用extension_loaded(string name)函数

作用:检查一个扩展是否加载

例如我们检查redis是否加载就可以这样写

<?phpextension_loaded("redis");

返回值是bool类型,如果加载既返回TRUE,否则为FALSE

4.命令行模式查看当前安装了哪些扩展

php -m

管理PHP扩展

1.PHP扩展所在位置

在我们最初安装PHP的时候,PHP扩展默认的位置在ext文件下,当然了我们也可以进行更改,更改的方式是通过修改PHP的配置文件来实现的

打开PHP配置文件php.ini

找到extension_dir="" 通过这个选项我们来自定义PHP扩展的文件所在目录

以下为我Windows下的扩展截图


5d1226600001c41404010505.jpg2.如何开启已经安装但是并未开启的PHP扩展


打开php.ini文件

找到 Dynamic Extensions 模块

下面没有开启的扩展前面都是有分号的,只要把分号删掉,重启Apache服务器或者Nginx服务器就可以了,响应的我们安装了某个扩展的时候,我们就可以直接这样书写

extension=要开启的扩展名称

然后重启服务器就可以了

如何安装PHP扩展

本次介绍包括Windows和Linux扩展的安装接收,但是在介绍之前我们先来认识一下PECL.

什么是PECL?

PECL 是PHP扩展的存储库,提供了所有已知扩展名和目录,用于下载和开发PHP扩展

官网网址:

pecl.php.net

额外扩展网址:(以下网址只针对Windows系统)

http://windows.php.net/downloads/pecl/releases/

windows安装PHP扩展的流程

1.到官方网址下载想要安装的PHP扩展,下载版本的时候要下载响应的版本扩展

PHP版本 VC版本 nts/ts x64/x86

以上的任何一个出错都可能导致意外的错误

2.解压下载的文件

解压时有的只会解压出一个php_xxx.dll,有的会解压出很多文件,但是无论哪种,我们只需要以.dll结尾的文件

3.将解压出来的.dll文件放到我们在php.ini中配置的扩展目录下即可

4.在php.ini中添加配置信息

1)一般方式

extension=php扩展的名称

2)需要设置配置信息

这个时候就需要根据说明开写入响应的配置信息了,根据每个扩展的不同会写入不同的配置信息

5.重启Apache或者Nginx服务器

这样经过这么几步我们就达到了Windows安装、配置、开启PHP扩展的目的

Linux下安装PHP扩展

Linux下安装PHP扩展有两种方式一种是直装,一种是编译安装,那么如何区分是直装还是编译安装呢?第一步:下载Linux版本的相对应PHP版本的PHP扩展,当我解压之后发现文件是以.so结尾的文件,那么我们就认为他是直装,直接把解压的.so文件复制到PHP的扩展目录下即可,以下为Linux扩展目录:

lib/php/extensions/no-debug-non-zts-20131226

之后我们按照Windows下的流程修改php.ini配置文件,重启服务器就可以了

编译安装:

当下载完相对应版本的扩展文件之后,解压之后发现是一堆以.c或者.h等等这些文件组成的,那么就需要编译安装了,简单介绍一下这些以.c或者.h结尾的文件到底是什么东东。其实对于有C语言基础的开发人员来说很明白这些文件就是c语言开发的源文件,我们可以直接用编译器打开这些代码,如果能力足够大的话甚至可以修改再重新开发。

接下来进入加压目录执行一个phpize的命令,那么这个命令在哪里呢?在PHP目录下的bin目录下,但是由于每个LinuxPHP安装目录的不同,所以我就以我的本机目录为准来讲解了

/usr/local/php/bin/phpize

因为我的PHP是安装在/user/local/下面的,其他的根据各自情况来写bin目录前面的目录,执行完之后执行下面的命令,同样等号后面的目录根据实际情况而定

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

这条命令的意思是自动编写配置文件,省去了我们手工编写的环节

但是并不是所有运行这条命令的人都能够正确执行,有的人会出现error,那么这是什么原因呢?是因为没有安装autoconf,安装一下就好了

centos/redhat下使用下面命令安装:

yum install autoconf

ubuntu下使用下面命令安装

apt-get install autoconf

但是也并是所有人运行上面之后也都够成功,如果提示错误,那么请按照下面的安装

yum lsit  php-devel
yum install php-devel.i686

安装完成后重新运行上面的命令即可,之后可是编译和安装

make && make install

之后开启扩展,就是在php.ini中写入参数,然后重启服务器就可以了。

其他扩展信息

什么是phpize?

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

什么是autoconf?

生成可以自动地配置软件源代码


点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
PHP开发工程师
手记
粉丝
2
获赞与收藏
12

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消