mysqli扩展无法在PHP7下升级怎么办

前言

首先发现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是一个虚拟的包。最终顺利安装完成。

原创文章,作者:IFQJV,如若转载,请注明出处:http://www.wangzhanshi.com/n/6829.html

(0)
IFQJV的头像IFQJV
上一篇 2025年1月1日 16:33:43
下一篇 2025年1月1日 16:33:45

相关推荐

  • PHP中防SQL注入的主要方法

    PHP中防SQL注入的主要方法 1. 使用预处理语句(Prepared Statements) 预处理语句是防止SQL注入的最有效方法之一。它们允许数据库引擎在执行查询之前对SQL…

    php 2024年12月17日
  • PHP7中的禁忌有哪些

    1、不要使用mysql_ 函数 这一天终于来了,从此你不仅仅“不应该”使用mysql_函数。PHP7已经把它们从核心中全部移除了,也就是说你需要迁移到好得多的mysqli_函数,或…

    php 2025年1月1日
  • php7中如何创建扩展

    将实现如下功能: &lt;?phpecho say(); ?&gt; 输出内容: $ php ./test.php $ he…

    php 2025年1月1日
  • 如何解决MySQL8.0和PHP7不兼容问题

    如何解决MySQL8.0和PHP7不兼容问题?其实要解决这个问题也不难,为此小编总结了这篇文章,下面我们一起来看看解决MySQL8.0和PHP7不兼容的方法。 MySQL8.0版本…

    2025年1月1日
  • 什么是HHVM和PHP7以及PHP7和HHVM应该怎么选择

      PHP是最流行的用于web开发的脚本语言之一。PHP的最新版本,PHP7在性能上做了很大的优化。不过,PHP还有一个竞争对手HHVM(HipHopvirtualMachine)…

    php 2025年1月1日
  • thinkphp在php7环境中提示Cannot use ‘String’ as class name as it is reserved怎么办

    我有一网站之前用php7运行thinkphp没有什么问题,但是最近发现开启验证码的时候发现有错误 Cannot use 'String' as class na…

    2025年1月1日
  • PHP7中基于函数方式如何使用lib库

    前言 首先说下什么是lib库。lib库就是一个提供特定功能的一个文件。可以把它看成是PHP的一个文件,这个文件提供一些函数方法。只是这个lib库是用c或者c++写的。 使用lib库…

    php 2025年1月1日
  • php7和php5对比的示例

    PHP7 PHP7刚出道就号称比旧版本快了几倍,各种开源框架或系统运行在PHP7上速度效率提高了几倍,反正不管是媒体还是开发者都在煽风点火,不,应该是赞不绝口。 我就静静看你们装逼…

    2025年1月1日
  • php7能在phpcms使用吗

    PHPCMS是一款网站管理软件。该软件采用模块化开发,支持多种分类方式,使用它可方便实现个性化网站的设计、开发与维护。 它支持众多的程序组合,可轻松实现网站平台迁移,并可广泛满足各…

    php 2025年1月1日
  • 安装php7并与php5共存的方法

    今天小编给大家分享的是 安装php7并与php5共存的方法,很多人都不太了解,今天小编为了让大家更加了解 安装php7并与php5共存的方法,所以给大家总结了以…

    php 2025年1月1日

发表回复

登录后才能评论