【发布时间】:2019-05-23 11:40:35
【问题描述】:
我刚刚安装了 LAMP 堆栈(也尝试使用 nginx),在安装 phpmyadmin 并尝试访问 'localhost/phpmyadmin' 后,我收到以下消息:
The mysqli extension is missing. Please check your PHP configuration
我尝试在 Ubuntu 18.04 'php7.2-mysql' 上安装(php 7.2 是我当前的 php 版本)并且 'php7.2-mysqli' 重定向到 'php7.2-mysql' 并且它们都已经以最新版本安装。
在 phpmyadmin 文档中,关于缺少的扩展名是这样说的:
1.20 我收到一个关于缺少 mysqli 和 mysql 扩展的错误。
要连接到 MySQL 服务器,PHP 需要一组称为“MySQL 扩展”的 MySQL 函数。这个扩展可能是 PHP 发行版的一部分 >(compiled-in),否则需要动态加载。它的名字可能是 mysqli.so 或 php_mysqli.dll。 phpMyAdmin 尝试加载 > 扩展但失败。通常,通过安装一个名为“PHP-MySQL”或类似软件的软件包来解决问题。
目前 PHP 作为 MySQL 扩展提供了两个接口 - mysql > 和 mysqli。先试试mysqli,因为它是最好的。
此外,我已经尝试修改 php.ini 文件,添加或取消注释以下几行:
extension=mysqli
extension=mysqli.so
extension=mysqli.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
然后尝试重新安装 phpmyadmin,无论是否通过 dbconfig-common 配置数据库。还重新安装了带有和不带有secure_installation的mysql-server(版本5.7.24)。
使用 apache2 我已经安装了以下 php 包:
php php-cgi libapache2-mod-php php-common php-pear php-mbstring
使用 nginx 我已经安装了以下 php 包:
php-fpm php-mysql
但这些都没有改变错误消息(即使在清除软件包并手动删除文件夹并重新安装之后)。
重要的是要注意堆栈中的所有程序都可以正常工作。让我觉得这是 phpmyadmin 的一些问题。
所以,我想进入 phpmyadmin 的登录屏幕,但似乎没有任何效果。已经尝试了几种解决方案,几次。如果有人可以帮助我,请回答!谢谢。
【问题讨论】:
-
您编辑了哪个 php.ini?之后你重启了哪个服务? error.logs 中有什么内容?现在是 Apache 还是 Nginx?哪个 PHP SAPI 与它们一起使用?您对
phpinfo()有何看法? -
安装扩展程序后重新启动 Web 服务器。另外,希望您只安装一个 php.ini 文件。您能否分享以下命令的输出 -
php -m | grep mysql -
@mario 实际上在 nginx 中,我已经从 '/etc/php/7.2/fpm/php.ini' 编辑了 php.ini,就像在 phpinfo() 中显示的那样;对不起,但我不知道我是否使用另一个 SAPI。刚刚安装了干净的 LEMP + phpmyadmin。 @ValerianPereira 这里是命令的输出:mysqli mysqlnd pdo_mysql
标签: php mysqli phpmyadmin ubuntu-18.04