mysqli扩展无法在PHP7下升级问题的解决


Posted in PHP onSeptember 10, 2019

前言

这几天在想部署一个OAuth服务,找了一个PHP的开源实现,由于要求的PHP版本比较高,就打算在自己的ECS上(PHP7.1)先测试下,没想到遇到了一些问题。

首先发现mysqli扩展没有装(mysql扩展在PHP7中已经废弃了),原来PHP7是使用ondrej/php源安装的,可运行 apt-cache search php7 | grep mysql 居然发现没有任何的mysql扩展,包括连php-memcached扩展也没有,可实际上该扩展我已经安装了。

百思不得其解,我仔细查看了ondrej/php PPA的页面 https://launchpad.net/~ondrej/+archive/ubuntu/php,发现这个ppa包已经不支持Ubuntu14.4了(而我的机器目前正好是此版本),如下图:

mysqli扩展无法在PHP7下升级问题的解决

为了验证这一点,我在同事的Ubuntu16下装了ondrej/php包,进行测试:

$ apt-cache policy php7.3
php7.3:
 Installed: (none)
 Candidate: 7.3.7-2+ubuntu16.04.1+deb.sury.org+1
 Version table:
  7.3.7-2+ubuntu16.04.1+deb.sury.org+1 500
  500 http://ppa.launchpad.net/ondrej/php/ubuntu xenial/main i386 Packages

$ apt-cache policy php-memcached 
php-memcached:
 Installed: (none)
 Candidate: 3.1.3+2.2.0-1+ubuntu16.04.1+deb.sury.org+1
 Version table:
  3.1.3+2.2.0-1+ubuntu16.04.1+deb.sury.org+1 500
  500 http://ppa.launchpad.net/ondrej/php/ubuntu xenial/main i386 Packages
  2.2.0-51-ge573a6e+2.2.0-2build2 500
  500 http://mirrors.tencentyun.com/ubuntu xenial/universe i386 Packages

从中可以看出ondrej/php包在Ubuntu16下可以安装PHP7.3,同时也包含php-memcached扩展。

验证ondrej/php不支持Ubuntu14后,我找了一个PHP PPA包serp2002/php7-backport,在安装之前我先卸载了ondrej/php包:

$ LC_ALL=C.UTF-8 add-apt-repository --remove ppa:ondrej/php

然后:

$ apt-cache show php7.3-mysql  
Package: php7.3-mysql
Source: php7.3
Priority: optional
Section: php
Installed-Size: 403
Maintainer: Debian PHP Maintainers <team+pkg-php@tracker.debian.org>
Architecture: i386
Version: 7.3.7-2+ubuntu16.04.1+deb.sury.org+1
Provides: php-mysqli, php-mysqlnd, php-pdo-mysql, php7.3-mysqli, php7.3-mysqlnd, php7.3-pdo-mysql

可见 php7.3-mysql 这个包实际上包含了很多mysql相关的包,比如 mysqli或pdo,如果你单独安装其中一个:

$ apt-get install php7.3-mysqli
N: Can't select versions from package 'php7.3-mysqli' as it is purely virtual
N: No packages found

会提示你php7.3-mysqli是一个虚拟的包。最终顺利安装完成。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。

PHP 相关文章推荐
可定制的PHP缩略图生成程式(需要GD库支持)
Mar 06 PHP
PHP 中英文混合排版中处理字符串常用的函数
Apr 12 PHP
PHP中遍历stdclass object的实现代码
Jun 09 PHP
php实现cc攻击防御和防止快速刷新页面示例
Feb 13 PHP
php出现内存位置访问无效错误问题解决方法
Aug 16 PHP
php求数组全排列,元素所有组合的方法
May 05 PHP
php中static和const关键字用法分析
Dec 07 PHP
PHP PDOStatement::nextRowset讲解
Feb 01 PHP
详解PHP神奇又有用的Trait
Mar 25 PHP
微信公众平台开发教程④ ThinkPHP框架下微信支付功能图文详解
Apr 10 PHP
PHP+百度AI OCR文字识别实现了图片的文字识别功能
May 08 PHP
php设计模式之适配器模式原理、用法及注意事项详解
Sep 24 PHP
PHP 模拟登陆功能实例详解
Sep 10 #PHP
Yii框架日志操作图文与实例详解
Sep 09 #PHP
php求斐波那契数的两种实现方式【递归与递推】
Sep 09 #PHP
PHP使用 Imagick 扩展实现图片合成,圆角处理功能示例
Sep 09 #PHP
Yii框架常见缓存应用实例小结
Sep 09 #PHP
Yii框架函数简单用法分析
Sep 09 #PHP
Yii框架的路由配置方法分析
Sep 09 #PHP
You might like
解析PayPal支付接口的PHP开发方式
2010/11/28 PHP
PHP MySQL应用中使用XOR运算加密算法分享
2011/08/28 PHP
php+mysqli使用预处理技术进行数据库查询的方法
2015/01/28 PHP
php file_get_contents取文件中数组元素的方法
2017/04/01 PHP
ThinkPHP框架使用redirect实现页面重定向的方法实例分析
2018/04/12 PHP
php通过各种函数判断0和空
2020/07/04 PHP
PHP 观察者模式深入理解与应用分析
2019/09/25 PHP
[JSF]使用DataModel处理表行事件的实例代码
2013/08/05 Javascript
jQuery中操控hidden、disable等无值属性的方法
2014/01/06 Javascript
判断字符串的长度(优化版)中文占两个字符
2014/10/30 Javascript
jquery判断密码强度的验证代码
2020/04/22 Javascript
javascript HTML5 Canvas实现圆盘抽奖功能
2016/04/11 Javascript
AngularJs  unit-testing(单元测试)详解
2016/09/02 Javascript
jquery获取transform里的值实现方法
2017/12/12 jQuery
Vue shopCart 组件开发详解
2018/01/26 Javascript
JavaScript数据结构与算法之二叉树添加/删除节点操作示例
2019/03/01 Javascript
深入浅出vue图片路径的实现
2019/09/04 Javascript
js实现提交前对列表数据的增删改查
2020/01/16 Javascript
ant design的table组件实现全选功能以及自定义分页
2020/11/17 Javascript
微信小程序实现多行文字滚动
2020/11/18 Javascript
[01:12:53]完美世界DOTA2联赛PWL S2 Forest vs SZ 第一场 11.25
2020/11/26 DOTA
Python3遍历目录树实现方法
2015/05/22 Python
如何准确判断请求是搜索引擎爬虫(蜘蛛)发出的请求
2015/10/13 Python
python 移除字符串尾部的数字方法
2018/07/17 Python
python训练数据时打乱训练数据与标签的两种方法小结
2018/11/08 Python
查看Python依赖包及其版本号信息的方法
2019/08/13 Python
使用Matplotlib 绘制精美的数学图形例子
2019/12/13 Python
如何解决python多种版本冲突问题
2020/10/13 Python
乡镇庆八一活动方案
2014/02/02 职场文书
通知函的格式
2015/04/27 职场文书
张丽莉事迹观后感
2015/06/16 职场文书
关于远足的感想
2015/08/10 职场文书
《水上飞机》教学反思
2016/02/20 职场文书
如何让vue长列表快速加载
2021/03/29 Vue.js
CSS完成视差滚动效果
2021/04/27 HTML / CSS
关于JavaScript轮播图的实现
2021/11/20 Javascript