即使将 php 与 mysql 链接后,管理员仍不支持任何 PHP 扩展

即使将 php 与 mysql 链接后,管理员仍不支持任何 PHP 扩展

安装管理员并从中访问后localhost/adminer显示

不支持任何 PHP 扩展 (MySQLi、MySQL、PDO_MySQL)

我甚至按照adminer- 没有可用的受支持的 PHP 扩展 (MySQLi、MySQL、PDO_MySQL)但它没有帮助。

我正在运行php version 7.1.10。还有什么进一步的配置吗?我们需要让它在 ubuntu 17.04 上实现吗?

答案1

将我的 Debian 系统从 Stretch 更新到 Buster 后,我收到了同样的错误消息http://localhost/管理员/. 报告页面http://localhost/phpinfo.php,本质上由 组成<?php phpinfo(); ?>,显示 apache2 使用 PHP 7.0,尽管系统上已经安装了较新的 PHP 7.3。激活较新的 PHP 版本使 Adminer 再次运行。我猜这在 Ubuntu 上也同样有效。

$ a2dismod php7.0
$ a2enmod php7.3
$ systemctl restart apache2

答案2

如果管理员说

不支持任何 PHP 扩展 (MySQLi、MySQL、PDO_MySQL)

这恰恰意味着您的 PHP 解释器不支持此扩展。

PHP 不支持 MySQL 的原因有很多,但最常见的原因是您没有安装正确的软件包。

可以使用以下命令搜索与 MySQL 相关的 PHP 包:

apt-cache search php | grep -i mysql

最重要的是:

php-mysql - MySQL module for PHP [default]
php7.1-mysql - MySQL module for PHP

我使用的是 Kubuntu 17.10 和 PHP 7.1,你可能有不同的版本,但最重要和最常见的包是php-mysql

首先你必须检查所有已安装的软件包,其中“php”软件包安装在你的机器上:

dpkg -l | grep php

您必须至少找到两个 php-mysql 中的一个。如果没有,您可以使用以下命令进行安装:

sudo apt-get install php-mysql

现在您只需重新启动您的服务。

如果您使用带有 prefork 的 Apache 来运行 PHP,则只需重新启动 Web 服务器即可。如果您使用 FastCGI,则必须重新启动 php 服务。

正确的命令取决于你的 Ubuntu 版本,你可以使用系统控制或者服务命令:

sudo systemctl restart <servicename>
sudo service <servicename> restart

在哪里服务名称可以是“apache”、“apache2”、“php5-fpm”或“php7.1-fpm”之一。

答案3

我检查了phpinfo()第一个,上面说 MySQL PDO 扩展未启用,这很奇怪,因为我在 中启用了它php.iniextension=pdo_mysql我检查了 Apache error.log,结果发现 PHP 正在c:\php\ext目录中寻找扩展,而我在目录中有它。所以我再次C:\PHP\php-7.4.24\ext更改了,问题解决了。php.iniextension_dir = "C:/PHP/php-7.4.24/ext"

我建议使用相同的步骤来调试此问题,检查您选择的扩展是否确实未启用,这是有可能的。之后检查您的网络服务器的日志文件,因为它应该会写出无法启用扩展的原因。

相关内容