一直对 PHP 扩展了解的似是而非,每次安装扩展都要百度教程,很容易出现各种错误。所幸整理下管理扩展的所有操作,方便日后操作。

查看已加载的扩展

  1. 输出 phpinfo();
  2. 使用 get_loaded_extensions();
  3. 使用 extension_loaded(string name) 函数检查是否加载指定扩展;
  4. php -m

Windows 安装扩展

扩展包地址:https://windows.php.net/downloads/pecl/releases/

1、下载扩展

下载的扩展一定要与本机的系统版本及 php 版本相适应,否则很容易出现加载异常的问题。

下面以本机加载 phpredis 扩展为例:

本机及 PHP 版本:win10 x64 7.2.11 Thread Safety

phpredis(4.1.1 版本) 扩展下载列表:

php_redis-4.1.1-7.2-nts-vc15-x64.zip

php_redis-4.1.1-7.2-nts-vc15-x86.zip

php_redis-4.1.1-7.2-ts-vc15-x64.zip

php_redis-4.1.1-7.2-ts-vc15-x86.zip

上面名称中:

  • 4.1.1:redis 扩展版本
  • 7.2:PHP 版本
  • ts、nts:分别表示安装的 PHP 是否是进程安全的版本
  • vc:15 和 PHP 编译器版本
  • x86:电脑位数。

上述信息都可以在 phpinfo() 函数输出的信息中找到。如下图,可以看到,本机的信息。因此,我们要下载的版本就是:

php_redis-4.1.1-7.2-ts-vc15-x64.zip

2、移动 .dll 文件

解压下载后的文件,将 php_redis.dll 文件拷贝到扩展文件夹中。

扩展文件夹

扩展文件夹,在 php4.x 的版本中,默认是 PHP\extensions,而 php5.x 的版本中是 PHP\ext。

此外,可以通过 php.ini 文件中的 extension_dir 字段,查看或指定扩展所在路径。

3、重启服务器

linux 安装

1、编译安装

a) 下载 .tgz 文件

如下图,我们从扩展列表中进入到扩展详情页,将下载地址复制出来,在 linux 目录下用 wget 命令下载扩展包。

wget http://pecl.php.net/get/redis-4.1.1.tgz

b) 解压编译

// 1、解压
tar -zxvf redis-4.1.1.tgz // 2、利用 phpize 生成 configure 文件
cd redis-4.1.1
/opt/php/bin/phpize // 3、编译。php-config 一般在 php/bin 目录下
./configure --with-php-config=/opt/php/bin/php-config // 4、安装
make && make install

c) 重启服务

2、“傻瓜式”安装

a) 移动 .so 文件

我们在解压扩展包文件后,如果目录中有 .so 文件,只需要将 .so 文件移动到扩展目录下即可。

而扩展目录则可以查看 php-config 中的 extension_dir 字段。

b) 修改 php.ini 文件

在配置文件中,添加:

extension=redis.so

c) 重启服务器

PHP 扩展管理的更多相关文章

  1. 无法为目标平台“Microsoft.Data.Tools.Schema.Sql.Sql120DatabaseSchemaProvider”创建扩展管理器

    很久没写博客了,这段时间情绪不那么稳定,还是心态的问题... 就简单写个问题的解决方法吧,其实最近遇到的问题蛮多的,就拿这个解决过后又遇到的来写吧. 正如标题一样:VS2013 无法为目标平台“Mic ...

  2. window环境下安装 pip 工具 【pip为Python的扩展管理工具】

    Python有一些扩展管理工具,例如easy_install和pip工具,我推荐各位使用pip工具,因为pip工具具有很好的安装和卸载体验. 我们首先需要打开pip的官方网站, 下载必要的文件包,然后 ...

  3. JFinal Enjoy指令扩展管理常用文本模板

    个人博客 地址:http://www.wenhaofan.com/article/20190304102258 平时在项目中使用短信模板 邮件模板以及 站内消息通知等文本模板一般都是通过手动的字符串拼 ...

  4. 使用VS Code的MySQL扩展管理数据库

    我将在本文告诉你如何用VS Code的扩展程序管理MySQL数据库,包括连接到MySQL.新建数据库和表.修改字段定义.简单的查询方法以及导入导出. 在许多情况下,我们需要随时查看数据库的记录来确保程 ...

  5. Python多环境扩展管理

    Python发展至今,版本众多,在使用过程中经常遇到第三方库依赖的Python版本和系统Python版本不一致的情况.同时又因系统底层需调用当前版本Python,所以不能随意变更当前系统Python版 ...

  6. dreamweaver cs5中提示扩展管理不可用

    下载: Extension Manager CS5.5 for Windows 安装后重启就能用了

  7. 我编写 33 个 VSCode 扩展的原因以及管理扩展的经验

    简评:使用工具的同时自己创造一些工具或扩展,是一件很棒的事情. 以下"我"指原作者 Fabio 大家好,我叫 Fabio,是一位自学成才的开发人员,热衷于开源和授权.我也喜欢自己制 ...

  8. Joomla - K2组件(文章管理扩展)

    一.下载 K2 进入 https://getk2.org/ ,点击DOWNLOAD K2 下载K2 下载完毕得到一个安装包 二.安装 K2 进入看后台,点击顶栏主菜单 扩展管理 -> 扩展安装 ...

  9. Chrome 扩展机制

    据说,今年9月份开始,谷歌将在Chrome浏览器中全面禁用NPAPI插件,Chrome 45以后将无法再加载NPAPI插件,并推出了一种新的机制:扩展. 其实,如果把浏览器看作一块画布的话,NPAPI ...

随机推荐

  1. Sublime插件:Terminal

    这几天在window环境下用gulp构建前端工程,切来切去浪费了不少时间(右键sublime菜单打开文件所在目录,然后去项目根目录,右键打开cmder).这点webstorm自带的Terminal真的 ...

  2. 安装Manjaro KDE 18.04

    Manjaro 官网:https://www.manjaro.org/ 各版本ISO下载:https://www.manjaro.org/download/ XFCE,KDE和GNOME为旗舰版 同时 ...

  3. Java中超大文件读写

    如果文件过大不能一次加载,就可以利用缓冲区: File file = new File(filepath); BufferedInputStream fis = new BufferedInputSt ...

  4. Linux 添加新用户账号并赋予root权限

    除了root用户之外,通常需要为每个管理创建各自的用户账号,方便每个管理员登录使用, 步骤如下: 1.  添加新用户账号 useradd  mary.lee 2.  为新用户账号设置密码 passwd ...

  5. native的详细用法

    目录 1.JNI:Java Native Interface 3.用C语言编写程序本地方法 一.编写带有 native 声明的方法的java类 二.使用 javac 命令编译所编写的java类,生成. ...

  6. 第三方布局框架Neon初探

    github地址:https://github.com/mamaral/Neon 居中 设置 view 在 superview 的中心,调用 anchorInCenter()并设置view大小,相当于 ...

  7. 雕刻机制作 PCB 指南

    之前使用过感光蓝油制作过 PCB,虽然感光法精度高,但个人制作耗时耗力,发给厂家周期又很长.看到国外的网友使用雕刻机制作 PCB  视频之后.几番周折之后还是成功了.有感于网上几乎没有一份完整的雕刻机 ...

  8. 关于css盒子模型和BFC的理解

    CSS盒子模型 包含元素内容(content).内边距(padding).边框(border).外边距(margin) 一般元素总宽度 = element的width+padding的左右边距+mar ...

  9. 2.SSM整合_多表_一对一或多对一的增删改查

    一对一和多对一配置一样,这里就放到一起. 1.配置文件跟上一章一样,这里就不多写了,主要是Mapper映射文件 多 接口 public interface NewsMapper { public vo ...

  10. linux学习历程-不熟悉的linux命令

    一:man(执行查看帮助命令) 二:常用的系统工作命令 1:echo echo命令用于显示在终端输出字符串或变量提取后的值,格式“echo [字符串]|[$变量]” 2:date 用于显示系统的时间和 ...