wamp无法加载mysqli扩展名

时间:2009-02-13 19:03:10

标签: php mysql localhost phpmyadmin

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扩展名。

任何人都知道为什么?任何解决方案或解决方法?

18 个答案:

答案 0 :(得分:19)

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

答案 1 :(得分:6)

我尝试了很多解决方案,但没有一个适合我。我尝试了以下解决方案:

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

然而,这些都没有奏效。然后我发现我的PHPMyAdmin不能用于chrome并且正在使用firefox。所以我尝试清除缓存,重新启动浏览器等,但它仍然不起作用。

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

答案 2 :(得分:5)

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

如果仍然无效,请仔细检查是否正在加载正确的php.ini文件 为此,请查看您的phpinfo()(Here以获取WAMPServer)。向下滚动到Loaded Configuration File行,看看正在加载php.iniMake sure it is the right file. If you're using WAMPServer, it should be(WAMP INSTALL FOLDER)\ bin \ apache \ Apache2.2.11 \ bin \ php.ini {{1} } C:\瓦帕\ BIN \阿帕奇\ Apache2.2.11 \ BIN \ php.ini`

如果正在加载不同的. By default, it is文件,只需将其重命名为其他文件,以便PHP尝试在其他地方找到该文件。应该有一种方法来指定你想要使用哪一个,但我忘记了如何做到这一点......

如果这仍然不起作用...尝试使用phpMyAdmin的设置或使用其他答案,但我担心我无法超越这个。

答案 3 :(得分:1)

在wampserver中的

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

答案 4 :(得分:1)

我遇到了同样的问题。我安装了WAMP服务器。一切都很好。然后有一天我重新启动了电脑,它就停止了工作!我拼命地试图通过所有的帮助帖子,但没有任何效果。

他们通常建议你做的是,首先转到你的php.ini文件,确保你的'extension_dir'设置正确。然后确保这两行没有注释(删除; infront): 延长=激活php_mysql.dll 延长= php_mysqli.dll

然后有人建议我下载这两个文件的新副本,但没有一个工作。我也尝试卸载所有东西(php / mysql / apache)并重新安装WAMP服务器的新副本几次但没有运气。

最后,我设法找到了另一种解决方案。我切换到'easyphp'(http://www.easyphp.org/)。这与WAMP非常相似。首先,我对我的sql数据库进行了备份,以便我可以在新安装中重新加载它们。

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

我希望有人患有类似的问题。会觉得这很有用。如果有人真的找到了修复WAMP服务器的工作。请尽可能在这里发布,这样很多人都会受益。

答案 5 :(得分:1)

还设置了mysql密码:

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

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

$cfg['Servers'][$i]['password'] = 'your_password';

答案 6 :(得分:1)

只需添加你的php.ini:

[PHP_MCRYPT]
extension=php_mcrypt.dll
[PHP_MYSQL]
extension=php_mysql.dll
[PHP_MYSQLI]
extension=php_mysqli.dll

答案 7 :(得分:1)

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

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

所以我改变了它的价值:

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

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

重新启动wamp服务器中的所有服务,然后将其修复。

答案 8 :(得分:0)

由于其他原因,我遇到了这个问题:

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

答案 9 :(得分:0)

我在Windows中将path变量设置为某些随机版本的php。

解决方法是对其进行更新,并将其设置为我的wampserver安装目录中的文件夹:


"street$", "town", "state", "street is invalid"

然后我意识到这对于我的特定情况也是错误的,实际上我应该从无所事事的内部运行脚本。活到老,学到老。

答案 10 :(得分:0)

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

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

答案 11 :(得分:0)

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

  1. 禁用PHP扩展程序php_mysqli
  2. 重启WampServer,访问本地phpmyadmin
  3. 启用php_mysqli
  4. 重复步骤2.
  5. 在几页刷新后,剩余的错误标记(大约MySQLsqli)已经消失。

答案 12 :(得分: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

答案 13 :(得分:0)

我很长时间都遇到了这个问题。
试过我在论坛上读过的所有内容,这终于为我工作了:
打开你的php.ini(我假设你有一个好的加载...)并找到这一行 mysqli.default_port = 3306
改变为 mysqli.default_port = 80
重启所有服务
转到localhost / phpmyadmin - >不会工作
重新打开php.ini文件并重新键入此
mysqli.default_port = 3306
重启所有服务
为我工作。

答案 14 :(得分:0)

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

答案 15 :(得分:0)

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

试了这个,然后它说道:

更改

  

mysql.default_host =

  

mysql.default_host = localhost

并重启WAMP。如果你使用的是mysqli,请注意。

答案 16 :(得分:0)

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

答案 17 :(得分: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版本。在那之后一切都很好。