liunx系统
1. /usr/local/php/bin/php-config
php 配置文件位置 [ php-config是一个脚本文件,用于获取所安装的php配置的信息 ]
在编译扩展时,如果安装有多个 PHP 版本,可以在配置时用 --with-php-config 选项来指定使用哪一个版本编译,该选项指定了相对应的 php-config 脚本的路径
2. 下载php 扩展包,进入扩展包目录
3. 执行 /usr/local/php/bin/phpize # 这个phpize 根据自己的目录
4. 执行后会在扩展包的目录里生成 configure 文件,以及 模块.so
大体思路:要生成模块需要用到php的源码包才行。通过源码包中提供的phpize文件(一个专门挂接php扩展的工具),phpize的规则:去哪个目录下运行phpize文件,那么就会在该目录下生成一个configure文件
5. 然后 ./configure --with-php-config=/usr&/local/php/bin/php-config
--with-php-config 指定php 安装配置文件,打开对php 的支持
如果需要用到客户端:例如安装mysql 扩展 必须加上"--with-mysql=mysql客户端的路径(mysql安装路径)"
注意:
--prefix=安装目录
--with-使用包名称[=包目录]
--enable-需要激活的功能
6. 执行后生成配置文件: make 配置文件
7. 编译安装 : make && make install
编译安装完成之后:会自动把 扩展模块名称.so 放到了默认的php扩展目录下(可以进入php扩展目录查看)
# php 扩展文件地址 一般在php安装目录里的 ext 或者 extensions
目录
8. 修改php.ini 文件 去掉;extension=扩展模块名称.so前面的分号。如果没有这句,需要自行添加;
如果没有找 extension 查找[Mcrypt]这样的一个字头,在下面添加如下代码
[扩展模块名称] # 这个可写可不写,本人做时 添加上了,去掉没有测试过(感觉像分组的意思)
extension=/usr/local/php/lib/php/extensions/no-debug-zts-20090626/扩展模块名称.so #安装时生成的模块目录绝对路径
9. 重启服务 :
nginx 服务
service nginx restart
/etc/init.d/php-fpm restart
apache 服务
service httpd restart
或者apache没有安装成服务,则进入apache_home执行 bin/apachectl -k restart
window 系统
1. 下载支持当前php 版本的php扩展模块 https://pecl.php.net/
2. 解压文件找到 扩展模块名称.dll 文件复制放在php扩展目录 ,一般为php安装目录的 ext 文件夹
3.修改php.ini 文件 中查找 extension , 添加 extension=扩展模块名称.dll
4. 重启 apache 服务
如果是是wamp 服务,在php->php extensions->扩展模块名称 查看是否勾选,如果勾选安装成功;
测试php引擎是否成功加载该扩展
编写文件phpinfo.php,内容是:
<?php
ehco phpinfo();
?>