• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    mysqli扩展无法在PHP7下升级问题的解决

    前言

    这几天在想部署一个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了(而我的机器目前正好是此版本),如下图:


    为了验证这一点,我在同事的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是一个虚拟的包。最终顺利安装完成。

    总结

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

    您可能感兴趣的文章:
    • 详解MySQL InnoDB的索引扩展
    • PHP使用PDO、mysqli扩展实现与数据库交互操作详解
    • php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例
    • PHP基于PDO扩展操作mysql数据库示例
    • php安装扩展mysqli的实现步骤及报错解决办法
    • PHP实现基于面向对象的mysqli扩展库增删改查操作工具类
    • CentOS 7下部署php7.1和开启MySQL扩展的方法教程
    • PHP使用SWOOLE扩展实现定时同步 MySQL 数据
    • PHP使用mysqli扩展连接MySQL数据库
    • MySQL 可扩展设计的基本原则
    上一篇:PHP 模拟登陆功能实例详解
    下一篇:PHP创建XML的方法示例【基于DOMDocument类及SimpleXMLElement类】
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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