什么是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?
生成可以自动地配置软件源代码
网友评论