PHP扩展(extensions)

什么是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扩展)

新建文件夹

<?php

get_loaded_extensions();

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

3.使用extension_loaded(string name)函数

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

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

<?php

extension_loaded("redis");

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

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

php -m

管理PHP扩展

1.PHP扩展所在位置

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

打开PHP配置文件php.ini

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

以下为我Windows下的扩展截图

2.如何开启已经安装但是并未开启的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?

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,558评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,002评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,024评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,144评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,255评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,295评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,068评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,478评论 1 305
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,789评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,965评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,649评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,267评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,982评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,800评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,847评论 2 351