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中文汉字验证码
Apr 08 PHP
用PHP实现图象锐化代码
Jun 14 PHP
php 删除记录同时删除图片文件的实现代码
May 12 PHP
PHP array 的加法操作代码
Jul 24 PHP
PHP安全配置详细说明
Sep 26 PHP
php魔术函数__call()用法实例分析
Feb 13 PHP
php使用mysqli向数据库添加数据的方法
Mar 20 PHP
PHP超牛逼无限极分类生成树方法
May 11 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
Jun 13 PHP
PHP中创建和编辑Excel表格的方法
Sep 13 PHP
laravel 获取当前url的别名方法
Oct 11 PHP
Laravel 框架路由原理与路由访问实例分析
Apr 14 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
地球防卫队:陪着奥特曼打小怪兽的人类力量 那些经典队服
2020/03/08 日漫
深入Nginx + PHP 缓存详解
2013/07/11 PHP
php传值赋值和传地址赋值用法实例分析
2015/06/20 PHP
php实现阳历阴历互转的方法
2015/10/28 PHP
php利用ob_start()清除输出和选择性输出的方法
2018/01/18 PHP
PHP排序算法之希尔排序(Shell Sort)实例分析
2018/04/20 PHP
php+ajax 文件上传代码实例
2019/03/18 PHP
JavaScript获取网页支持表单字符集的方法
2015/04/02 Javascript
javascript实现五星评分功能
2015/11/10 Javascript
js仿QQ中对联系人向左滑动、滑出删除按钮的操作
2016/04/07 Javascript
全面解析JavaScript里的循环方法之forEach,for-in,for-of
2020/04/20 Javascript
Jquery Easyui选项卡组件Tab使用详解(10)
2016/12/18 Javascript
js获取元素的偏移量offset简单方法(必看)
2017/07/05 Javascript
ReactNative中使用Redux架构总结
2017/12/15 Javascript
js实现微信聊天效果
2020/08/09 Javascript
Javascript var变量删除原理及实现
2020/08/26 Javascript
JavaScript动态生成表格的示例
2020/11/02 Javascript
Python3基础之基本运算符概述
2014/08/13 Python
深入解析Python的Tornado框架中内置的模板引擎
2016/07/11 Python
Python中第三方库Requests库的高级用法详解
2017/03/12 Python
Python基于回溯法子集树模板解决找零问题示例
2017/09/11 Python
Python制作豆瓣图片的爬虫
2017/12/28 Python
python 多维切片之冒号和三个点的用法介绍
2018/04/19 Python
pyspark 随机森林的实现
2020/04/24 Python
如何利用python之wxpy模块玩转微信
2020/08/17 Python
浅谈anaconda python 版本对应关系
2020/10/07 Python
CSS3移动端vw+rem不依赖JS实现响应式布局的方法
2019/01/23 HTML / CSS
韩都衣舍天猫官方旗舰店:天猫女装销售总冠军
2017/10/10 全球购物
英国户外装备和冒险服装零售商:alloutdoor
2018/01/30 全球购物
学习焦裕禄精神践行三严三实心得体会
2014/10/13 职场文书
二年级上册数学教学计划
2015/01/20 职场文书
贫困生证明范文
2015/06/16 职场文书
新员工入职感言范文!
2019/07/04 职场文书
JavaScript 去重和重复次数统计
2021/03/31 Javascript
Vue项目中如何封装axios(统一管理http请求)
2021/05/02 Vue.js
九大龙王魂骨,山龙王留下躯干骨,榜首死的最憋屈(被捏碎)
2022/03/18 国漫