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 相关文章推荐
Windows下PHP的任意文件执行漏洞
Oct 09 PHP
网站用php实现paypal整合方法
Nov 28 PHP
PHP求小于1000的所有水仙花数的代码
Jan 10 PHP
php利用cookie实现自动登录的方法
Dec 10 PHP
php数组去除空值函数分享
Feb 02 PHP
php用ini_get获取php.ini里变量值的方法
Mar 04 PHP
PHP延迟静态绑定的深入讲解
Apr 02 PHP
Laravel5.5以下版本中如何自定义日志行为详解
Aug 01 PHP
掌握PHP垃圾回收机制详解
Mar 13 PHP
Laravel中validation验证 返回中文提示 全局设置的方法
Sep 29 PHP
php使用curl伪造浏览器访问操作示例
Sep 30 PHP
laravel 去掉index.php伪静态的操作方法
Oct 12 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
PHP求最大子序列和的算法实现
2011/06/24 PHP
CSS中简写属性要注意TRouBLe的顺序问题(避免踩坑)
2021/03/09 HTML / CSS
腾讯UED 漂亮的提示信息效果代码
2011/09/12 Javascript
Microsfot .NET Framework4.0框架 安装失败的解决方法
2013/08/14 Javascript
只需一行代码,轻松实现一个在线编辑器
2013/11/12 Javascript
鼠标滚轮改变图片大小的示例代码
2013/11/20 Javascript
最简单的JavaScript验证整数、小数、实数、有效位小数正则表达式
2015/04/17 Javascript
JavaScript使用RegExp进行正则匹配的方法
2015/07/11 Javascript
详解Bootstrap创建表单的三种格式(一)
2016/01/04 Javascript
浅谈jquery之on()绑定事件和off()解除绑定事件
2016/10/26 Javascript
JS类的定义与使用方法深入探索
2016/11/26 Javascript
利用js定义一个导航条菜单
2017/03/14 Javascript
解决angularjs中同步执行http请求的方法
2018/08/13 Javascript
详解Vue.directive 自定义指令
2019/03/27 Javascript
vue实现吸顶、锚点和滚动高亮按钮效果
2019/10/21 Javascript
vue 修改 data 数据问题并实时显示操作
2020/09/07 Javascript
js实现圆形菜单选择器
2020/12/03 Javascript
在Python的框架中为MySQL实现restful接口的教程
2015/04/08 Python
Python pass详细介绍及实例代码
2016/11/24 Python
Python 字符串转换为整形和浮点类型的方法
2018/07/17 Python
numpy linalg模块的具体使用方法
2019/05/26 Python
python+selenium+chrome批量文件下载并自动创建文件夹实例
2020/04/27 Python
python3.6使用SMTP协议发送邮件
2020/05/20 Python
Django基于Models定制Admin后台实现过程解析
2020/11/11 Python
美国韩国化妆品和护肤品购物网站:Beautytap
2018/07/29 全球购物
美国在线购买和出售礼品卡网站:EJ Gift Cards
2019/06/09 全球购物
标记环网Toke Ring IEEE802.5
2014/05/26 面试题
自主招生自荐信格式
2013/12/03 职场文书
办公室人员先进事迹
2014/01/27 职场文书
家长对孩子的感言
2014/03/10 职场文书
2014年清明节寄语
2014/04/03 职场文书
司法所长先进事迹
2014/06/02 职场文书
奥巴马当选演讲稿
2014/09/10 职场文书
单位一把手群众路线四风问题整改措施
2014/09/25 职场文书
因工资原因离职的辞职信范文
2015/05/12 职场文书
Java实现多线程聊天室
2021/06/26 Java/Android