2009-02-13 90 views
14

WAMP安装罚款,没有问题,但...WAMP无法加载mysqli扩展

当去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扩展。

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

+0

我有完全相同的问题。 – WalterJ89 2009-03-10 06:49:20

回答

1

我有同样的问题。我安装了WAMP服务器。一切工作正常。然后有一天我重新启动了电脑,它停止工作了!我试图拼命地通过所有帮助职位,并做他们,但没有工作。

他们通常建议你做的是,首先去你的php.ini文件,并确保你的'extension_dir'设置正确。然后,以确保这两条线是不评论(删除;盈方): 扩展=激活php_mysql.dll 延长= php_mysqli.dll

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

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

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

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

5

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

如果这仍然不起作用,请再次检查是否正在加载正确的php.ini文件。
为此,请查看您的phpinfo()(适用于WAMPServer的Here)。向下滚动至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 . By default, it is C:\ wamp \ bin \ apache \ Apache2.2.11 \ bin \ php.ini`。

如果正在加载不同的php.ini文件,只需将其重命名为其他内容,以便PHP将尝试在其他位置找到该文件。应该有一个方法来指定哪些想要使用,但我忘了如何做到这一点...

如果这仍然无法正常工作...尝试搞乱phpMyAdmin的设置,或使用其他答案,但恐怕我无法超越这一点。

19

我删除程序文件的PHP广告都开始工作,这个问题有PHP

+3

我也是。您可以检查phpinfo()正在加载哪个php.ini。 – peterorum 2009-10-19 23:25:06

1

的两个安装在wampserver去php.ini中。打开文件并取消注释extension = msql.dll,方法是删除各个操作系统的分号(;)。

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版本。之后,这一切都很好。

1

还设置了MySQL密码:

SET PASSWORD FOR [email protected]=PASSWORD('your_password'); 

而且在config.inc.php中phpMyAdmin的MySQL的密码:

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

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

1

只需添加在php.ini:

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

我尝试了许多解决方案,并没有为我工作。我尝试了以下解决方案:

  • 重启wampserver
  • 重新安装wampserver在这个问题中提及
  • 重启机器
  • 和所有其他的解决方案。

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

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

0

我有这个问题,花了2个小时尝试所有的解决方案在线,没有工作。

尝试这样做,它woked:

变化

mysql.default_host =

mysql.default_host =本地主机

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

0

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

0

我得到了这个问题很长一段时间。
尝试了我在论坛上看到的所有内容,并且最后对我有用:
打开你的php.ini(我假设你已经装载了好的...)并找到这条线 mysqli.default_port = 3306
变化为
mysqli.default_port = 80
重新启动所有服务
转到本地主机/ phpMyAdmin的 - >将无法正常工作
重新打开php.ini文件,并键入此
mysqli.default_port = 3306
重新启动所有服务
Worke d对我来说。

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 
0

我刚安装WampServer,并面临着同样的问题。我找到了解决方案,这对我很有用,它非常简单。

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

几个页面刷新后,剩下的错误板(约MySQLsqli)已经走了。

0

我努力通过 连连安装WAMP, 由通过替换index.php文件,

重新启动机器, 检查php.ini文件, 但没有工作。 然后我去wamp/temp并删除所有文件,现在它工作正常。

1

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

根据网站要求,我需要将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 /斌/ php/php5.2.9/ext/

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