14

WAMP 安装良好,没有问题,但是...

去 phpMyAdmin 时,我从 phpMyAdmin 收到如下错误:

Cannot load mysqli extension. Please check your PHP configuration

此外,phpMyAdmin 文档对此错误消息的解释如下:

为了连接到 MySQL 服务器,PHP 需要一组称为“MySQL 扩展”的 MySQL 函数。此扩展可能是 PHP 发行版的一部分(已编译),否则需要动态加载。它的名字可能是 mysql.so 或 php_mysql.dll。phpMyAdmin 尝试加载扩展但失败。通常,通过安装名为“PHP-MySQL”或类似的软件包来解决问题。

最后,apache_error.log 文件包含以下 PHP 警告(请参阅 mySQL 警告):

PHP Warning: Zend Optimizer does not support this version of PHP - please upgrade to the latest version of Zend Optimizer in Unknown on line 0
PHP Warning: Zend Platform does not support this version of PHP - please upgrade to the latest version of Zend Platform in Unknown on line 0
PHP Warning: Zend Debug Server does not support this version of PHP - please upgrade to the latest version of Zend Debug Server in Unknown on line 0
PHP Warning: gd wrapper does not support this version of PHP - please upgrade to the latest version of gd wrapper in Unknown on line 0
PHP Warning: java wrapper does not support this version of PHP - please upgrade to the latest version of java wrapper in Unknown on line 0
PHP Warning: mysql wrapper does not support this version of PHP - please upgrade to the latest version of mysql wrapper in Unknown on line 0

因此,由于某种原因 PHP 无法识别 mysql 扩展。

有谁知道为什么?任何解决方案或解决方法?

4

18 回答 18

19

我删除了程序文件中的PHP,一切都开始工作了,问题是安装了两次pHp

于 2009-10-17T04:53:15.013 回答
7

我尝试了许多解决方案,但没有一个对我有用。我尝试了以下解决方案:

  • 重启 wampserver
  • 重新安装 wampserver
  • 重启机器
  • 以及此问题中提到的所有其他解决方案。

然而,这些都没有奏效。然后我发现我的 PHPMyAdmin 没有在 chrome 中工作,而是在 firefox 中工作。所以我尝试清除缓存,重新启动浏览器等,但仍然无法正常工作。

然后我删除了所有文件C:\wamp\tmp,然后再次尝试,它可以工作。我不确定它为什么会起作用,但这是我的想法。会话被缓存并且没有被清除。所以一旦我删除了这个目录中的所有文件,所有的会话都被删除了,因此它工作正常。

于 2012-01-26T06:32:08.777 回答
5

首先,确保php.ini文件正在加载mysqli扩展名。
如果您使用的是 WAMPServer,请单击系统托盘中的图标,转到PHP->PHP Extensions并确保已选中。如果没有,请进入php.ini文件并确保该行:extension=php_mysqli.dll未注释(例如,删除;如果它存在)。如果该行不存在,请添加它。

如果这仍然不起作用,请仔细检查php.ini是否正在加载正确的文件。
为此,请查看您的 phpinfo()(此处为 WAMPServer)。向下滚动到该Loaded Configuration File行并查看php.ini正在加载的行。Make sure it is the right file. If you're using WAMPServer, it should be(WAMP 安装文件夹)\bin\apache\Apache2.2.11\bin\php.ini . By default, it isC:\wamp\bin\apache\Apache2.2.11\bin\php.ini`。

如果php.ini正在加载不同的文件,只需将其重命名为其他名称,以便 PHP 将尝试在其他位置找到该文件。应该有一种方法可以指定你想使用哪个,但我忘记了具体怎么做......

如果这仍然不起作用...尝试弄乱 phpMyAdmin 的设置,或使用其他答案,但恐怕我无能为力。

于 2009-07-15T04:27:13.120 回答
2

我正在使用两个 PHP 版本 1) 5.2.9 和 2) 5.2.13 运行 WAMP。

根据站点要求,我需要将 PHP 版本从 5.2.13 更改为 5.2.9。交换 PHP 版本后,错误是“缺少 mysqli 扩展”。经过长时间调试后,我知道这是由于 php.ini 文件中的“extension_dir”路径错误。

所以我改变了它的价值:

旧:“extension_dir”c:/wamp/bin/php/php5.2.13/ext/

新:“extension_dir”c:/wamp/bin/php/php5.2.9/ext/

重新启动wamp服务器中的所有服务,然后它就被修复了。

于 2014-03-18T12:23:16.693 回答
1

在 wampserver 中转到 php.ini。打开文件并取消注释 extension=msql.dll 通过删除分号(;) 为各自的操作系统。

于 2009-12-22T10:21:39.867 回答
1

还要设置mysql密码:

SET PASSWORD FOR root@localhost=PASSWORD('your_password');

以及 config.inc.php 中的 phpmyadmin mysql 密码:

$cfg['Servers'][$i]['password'] = 'your_password';
于 2010-05-13T18:55:23.447 回答
1

我有同样的问题。我安装了 WAMP 服务器。一切正常。然后有一天我重新启动了我的电脑,它就停止了工作!我拼命尝试浏览所有帮助帖子并进行操作,但没有任何效果。

他们通常建议您做的是,首先转到您的 php.ini 文件并确保您的“extension_dir”设置正确。然后确保这两行没有被注释(去掉前面的 ;): extension=php_mysql.dll extension=php_mysqli.dll

然后有人建议我下载这两个文件的新副本,但没有一个有效。我还尝试卸载所有内容(php/mysql/apache)并多次重新安装 WAMP 服务器的新副本,但没有成功。

最后,我设法找到了替代解决方案。我切换到“easyphp”(http://www.easyphp.org/)。这与 WAMP 非常相似。首先,我备份了我的 sql 数据库,以便在新安装时重新加载它们。

然后我安装了“easyphp”,一切似乎都正常。我从备份中重新加载了我的 sql 数据库,现在一切恢复正常。

我希望有人患有类似的问题。会发现这很有用。如果有人真的找到了使 WAMP 服务器正常工作的修复程序。请务必将其张贴在这里,这样很多人都会受益。

于 2009-07-15T04:09:39.223 回答
1

只需添加您的 php.ini:

[PHP_MCRYPT]
extension=php_mcrypt.dll
[PHP_MYSQL]
extension=php_mysql.dll
[PHP_MYSQLI]
extension=php_mysqli.dll
于 2011-06-09T23:20:21.503 回答
0

只是想插话这个。使用 Wamp Server 2.0,并使用 Zend Studio 和 Zend 调试器进行开发。

到目前为止,我还不能(将在某个时候回到它)让 zend 调试器与 php 5.3 一起工作。所以在 wamp 中我加载了一个早期的 php 版本,5.2.11。访问 php 我的管理员时,我遇到了同样的错误。

我必须做的是更改“extension_dir”的 php.ini 文件值c:/wamp/bin/php/php5.2.11/ext/以匹配我正在使用的 php 版本。在那之后,一切都很好。

于 2010-01-15T14:10:11.263 回答
0

对我来说,在搜索所有日志/互联网/所有非正常事物之后,我做了这个。您必须通过以下方式注册 dl:

通过申请:

WAMP -> PHP settings -> enable dl

或者

# php.ini #

; Whether or not to enable the dl() function.  The dl() function does NOT work
; properly in multithreaded servers, such as IIS or Zeus, and is automatically
; disabled on them.
; http://php.net/enable-dl
enable_dl = On
于 2012-11-30T20:20:36.757 回答
0

我一次又一次地安装 wamp,检查 php.ini 文件,重新启动机器,替换 index.php 文件,努力尝试,

但没有一个有效。然后我去 wamp/temp 并删除了所有文件,现在它工作正常。

于 2013-06-13T05:59:55.050 回答
0

我刚刚安装了 WampServer,遇到了同样的问题。我找到了对我有用的解决方案,它非常简单。

  1. 禁用 PHP 扩展php_mysqli
  2. 重启 WampServer,访问本地phpmyadmin.
  3. 启用php_mysqli回来。
  4. 重复步骤 2。

几次页面刷新后,剩余的错误板(关于MySQLsqli)消失了。

于 2012-12-02T20:05:54.973 回答
0

我遇到了这个问题,花了 2 个小时在网上尝试了所有解决方案,但都没有奏效。

试过这个,它醒了:

改变

mysql.default_host =

mysql.default_host = 本地主机

并重新启动 WAMP。注意你是否使用mysqli。

于 2012-02-29T18:36:08.973 回答
0

我遇到这个问题很久了。
尝试了我在论坛上阅读的所有内容,这最终对我有用:
打开你的 php.ini(我假设你已经加载了好的那个......)并找到 mysqli.default_port = 3306
更改为
mysqli 的这一行。 default_port = 80
重新启动所有服务
转到 localhost/phpmyadmin -> 将不起作用
重新打开 php.ini 文件并重新键入此
mysqli.default_port = 3306
重新启动所有服务
为我工作。

于 2012-10-15T17:14:16.363 回答
0

有同样的问题,与 wamp。尝试用备份交换您当前版本的 php.ini。有一个在:wamp\bin\php\php5.3.0phpForApache.txt。为我工作。

于 2011-01-10T20:04:57.967 回答
0

我有同样的错误。当我增加脚本内存大小并启用 E_ALL 然后重新启动服务器时,我在 phpmyadmin 中遇到了该错误。我所要做的就是重新启动我的电脑!

于 2012-04-13T03:41:42.330 回答
0

我将 Windows 中的路径变量设置为一些随机版本的 php。

修复方法是更新它并将其设置为我的 wampserver 安装中的文件夹:

C:\wamp64\bin\php\php5.6.38

然后我意识到这对于我的具体情况也是错误的,我实际上应该从 vagrant 中运行脚本。活到老,学到老。

于 2018-10-04T15:06:06.357 回答
0

由于不同的原因,我遇到了这个问题:

检查 PHP 错误日志(从 Wamp 托盘获取 -> PHP -> PHP 错误日志。我在编辑文件时在 php.ini 文件中有语法错误。检查日志并清除错误。这将打开您的PhpMyAdmin 正确。

于 2019-07-22T14:50:34.363 回答