安装管理员并从中访问后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.ini
。extension=pdo_mysql
我检查了 Apache error.log
,结果发现 PHP 正在c:\php\ext
目录中寻找扩展,而我在目录中有它。所以我再次C:\PHP\php-7.4.24\ext
更改了,问题解决了。php.ini
extension_dir = "C:/PHP/php-7.4.24/ext"
我建议使用相同的步骤来调试此问题,检查您选择的扩展是否确实未启用,这是有可能的。之后检查您的网络服务器的日志文件,因为它应该会写出无法启用扩展的原因。