php7 安装中缺少 Mysql 扩展。Ubuntu 16.04

php7 安装中缺少 Mysql 扩展。Ubuntu 16.04

mysql在我的 中启用时遇到了问题php-config

apt-get install php-mysql并且apt-get install php7.0-mysql不会带来任何改变。

此外,扩展目录中缺少共享对象php

有什么方法我可以得到吗mysql.so

答案1

在 Ubuntu 上,我通过运行

sudo apt-get install php-mysql

然后重新启动我的服务器(caddy、apache、nginx)。

来源

答案2

我假设你谈论的是 PHP 中非常老式的 MySQL 函数,例如mysql_connect()mysql_query()。这些函数已被弃用多年,并最终在 PHP 7 中被删除。使用mysqli 扩展或者独立于供应商的抽象层之一,例如原产地保护组织反而。

答案3

我也有同样的问题,但与 Docker 映像上的特定 Ubuntu 版本有关。诀窍是在同一个 RUN 命令中更新和安装。

RUN apt-get update && apt-get install php7.0-mysql

答案4

mysqli.so确实被标记为缺失,似乎未在 18.04 中安装。在我看来,软件包已损坏,因为有一个php-mysqli,并且它未安装php-mysql

否则我无法安装该php-mysqli软件包,并且当我尝试时它不会在 apt 中抛出任何错误,它只是没有安装任何东西。

然而,我发现mysqli.so/var/lib/php/modules/7.2/cgi/enabled_by_admin/

添加extension=/path/here/to/mysqli.so您的extension=mysqliinphp.ini并且您应该停止抛出mysqli.so缺失错误。

我认为这些包很烂,而且不完全清楚提供了什么mysqli.so,除非你启用扩展并在找到扩展后设置路径,否则它们无法开箱即用(你可以使用它dpkg-query -L来查看它是否mysqli.so是包内容的一部分,以及它安装在哪里)

相关内容