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扩展名。
任何人都知道为什么?任何解决方案或解决方法?
答案 0 :(得分:19)
我在程序文件中删除了PHP,一切都开始工作了,有两个安装pHp的问题
答案 1 :(得分:6)
我尝试了很多解决方案,但没有一个适合我。我尝试了以下解决方案:
然而,这些都没有奏效。然后我发现我的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.ini
。Make 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)
转到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,遇到了同样的问题。我找到了适用于我的解决方案,它非常简单。
php_mysqli
。phpmyadmin
。php_mysqli
。在几页刷新后,剩余的错误标记(大约MySQL
和sqli
)已经消失。
答案 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版本。在那之后一切都很好。