PHP 扩展管理
一直对 PHP 扩展了解的似是而非,每次安装扩展都要百度教程,很容易出现各种错误。所幸整理下管理扩展的所有操作,方便日后操作。
查看已加载的扩展
- 输出 phpinfo();
- 使用 get_loaded_extensions();
- 使用 extension_loaded(string name) 函数检查是否加载指定扩展;
- php -m
Windows 安装扩展
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 扩展管理的更多相关文章
- 无法为目标平台“Microsoft.Data.Tools.Schema.Sql.Sql120DatabaseSchemaProvider”创建扩展管理器
很久没写博客了,这段时间情绪不那么稳定,还是心态的问题... 就简单写个问题的解决方法吧,其实最近遇到的问题蛮多的,就拿这个解决过后又遇到的来写吧. 正如标题一样:VS2013 无法为目标平台“Mic ...
- window环境下安装 pip 工具 【pip为Python的扩展管理工具】
Python有一些扩展管理工具,例如easy_install和pip工具,我推荐各位使用pip工具,因为pip工具具有很好的安装和卸载体验. 我们首先需要打开pip的官方网站, 下载必要的文件包,然后 ...
- JFinal Enjoy指令扩展管理常用文本模板
个人博客 地址:http://www.wenhaofan.com/article/20190304102258 平时在项目中使用短信模板 邮件模板以及 站内消息通知等文本模板一般都是通过手动的字符串拼 ...
- 使用VS Code的MySQL扩展管理数据库
我将在本文告诉你如何用VS Code的扩展程序管理MySQL数据库,包括连接到MySQL.新建数据库和表.修改字段定义.简单的查询方法以及导入导出. 在许多情况下,我们需要随时查看数据库的记录来确保程 ...
- Python多环境扩展管理
Python发展至今,版本众多,在使用过程中经常遇到第三方库依赖的Python版本和系统Python版本不一致的情况.同时又因系统底层需调用当前版本Python,所以不能随意变更当前系统Python版 ...
- dreamweaver cs5中提示扩展管理不可用
下载: Extension Manager CS5.5 for Windows 安装后重启就能用了
- 我编写 33 个 VSCode 扩展的原因以及管理扩展的经验
简评:使用工具的同时自己创造一些工具或扩展,是一件很棒的事情. 以下"我"指原作者 Fabio 大家好,我叫 Fabio,是一位自学成才的开发人员,热衷于开源和授权.我也喜欢自己制 ...
- Joomla - K2组件(文章管理扩展)
一.下载 K2 进入 https://getk2.org/ ,点击DOWNLOAD K2 下载K2 下载完毕得到一个安装包 二.安装 K2 进入看后台,点击顶栏主菜单 扩展管理 -> 扩展安装 ...
- Chrome 扩展机制
据说,今年9月份开始,谷歌将在Chrome浏览器中全面禁用NPAPI插件,Chrome 45以后将无法再加载NPAPI插件,并推出了一种新的机制:扩展. 其实,如果把浏览器看作一块画布的话,NPAPI ...
随机推荐
- org.springframework.web.context.ContextLoaderListener 解决方案
tomcat启动项目报错,没找到这个类 我直接下了一个spring-web-4.3.8.RELEASE.jar 的 jar 包方到web-inf目录下.问题解决. 补充: 如果在检查了项目 jar 环 ...
- kafka 客户端 consumer 配置参数
1.Consumer Group 与 topic 订阅 每个Consumer 进程都会划归到一个逻辑的Consumer Group中,逻辑的订阅者是Consumer Group.所以一条message ...
- 将source类中的属性值赋给target类中对应的属性
/** * 对象的属性值拷贝 * <p> * 将source对象中的属性值赋值到target对象中的属性,属性名一样,类型一样 * <p> * example: * <p ...
- Ubuntu 服务器设置软件多用户访问
假设在用户A下安装了软件xx 路径写入$home/.bashrc 这时该软件只有该用户可以使用 若要其他用户也能使用,只需要将该.bashrc拷贝到其他user的$home目录就行了
- 2019-3-22c# TextBox只允许输入数字,禁用右键粘贴,允许Ctrl+v粘贴数字
TextBox 禁止复制粘贴 ShortcutsEnabled =false TextBox只允许输入数字,最大长度为10 //TextBox.ShortcutsEnabled为false 禁止右键和 ...
- banner | what is the "banner" ?
banner/横幅 获取 banner(横幅) 信息属于信息搜集 因为在 banner 信息中,可以获取到软件开发商.软件名称.服务类型.版本号等 而版本号有时候就会存在公开的 CVE 问 ...
- eclipse自身导致的项目问题:上边提示需要移除无用包,下边类提示需要导入包。
- 马昕璐 201771010118《面向对象程序设计(java)》第十六周学习总结
第一部分:理论知识学习部分 程序:一段静态的代码,应用程序执行的蓝本. 进程:是程序的一次动态执行,它对应了从代码加载.执行至执行完毕的一个完整过程. 多线程:进程执行过程中产生的多条执行线索,比进程 ...
- window上杀死node进程
1.查询端口占用的进程ID点击"开始"-->"运行",输入"cmd"后点击确定按钮,进入DOS窗口,接下来分别运行以下命令:netst ...
- Spring源码学习-容器BeanFactory(二) BeanDefinition的创建-解析前BeanDefinition的前置操作
写在前面 上文 Spring源码学习-容器BeanFactory(一) BeanDefinition的创建-解析资源文件主要讲Spring容器创建时通过XmlBeanDefinitionReader读 ...