【问题标题】:wamp cannot load mysqli extensionwamp 无法加载 mysqli 扩展
【发布时间】:2010-10-07 12:40:50
【问题描述】:

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

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

【问题讨论】:

  • 我也有同样的问题。

标签: php mysql localhost phpmyadmin


【解决方案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 服务器正常工作的修复程序。请务必在此处发布它,这样很多人都会受益。

【讨论】:

    【解决方案2】:

    首先,确保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. By default, it isC:\wamp\bin\ apache\Apache2.2.11\bin\php.ini`。

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • 我也是。您可以检查 phpinfo() 正在加载哪个 php.ini。
      • 我用 Apache 2.2 安装了另一个 PHP。我通过程序和功能控制面板卸载了 PHP,并删除了我在 C: 根目录和程序文件中找到的 PHP 文件夹。
      • 我也一样,删除phpinfo文件:)
      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

        只是想插话这个。使用 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 版本。在那之后,一切都很好。

        【讨论】:

          【解决方案6】:

          同时设置mysql密码:

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

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

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

          【讨论】:

            【解决方案7】:

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

            【讨论】:

              【解决方案8】:

              只需添加您的 php.ini:

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

              【讨论】:

                【解决方案9】:

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

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

                但是,这些都不起作用。然后我发现我的 PHPMyAdmin 没有在 chrome 中工作,而是在 firefox 中工作。所以我尝试清除缓存,重启浏览器等,但还是不行。

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

                【讨论】:

                  【解决方案10】:

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

                  试过这个,它醒了:

                  改变

                  mysql.default_host =

                  mysql.default_host = 本地主机

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

                  【讨论】:

                    【解决方案11】:

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

                    【讨论】:

                      【解决方案12】:

                      我遇到这个问题很长时间了。
                      尝试了我在论坛上阅读的所有内容,这终于对我有用:
                      打开你的 php.ini (我假设你已经加载了好的...)并找到这一行 mysqli.default_port = 3306

                      mysqli.default_port = 80
                      重启所有服务
                      转到 localhost/phpmyadmin -> 不起作用
                      重新打开 php.ini 文件并重新键入此
                      mysqli.default_port = 3306
                      重启所有服务
                      为我工作。

                      【讨论】:

                        【解决方案13】:

                        对我来说,在搜索了所有日志/互联网/所有非正常事物之后,我做了这个。 您必须通过以下方式注册 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
                        

                        【讨论】:

                          【解决方案14】:

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

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

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

                          【讨论】:

                            【解决方案15】:

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

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

                            【讨论】:

                              【解决方案16】:

                              我使用两个 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服务器中的所有服务,然后修复。

                              【讨论】:

                                【解决方案17】:

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

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

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

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

                                【讨论】:

                                  【解决方案18】:

                                  我遇到这个问题的原因不同:

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

                                  【讨论】:

                                    猜你喜欢
                                    • 2015-04-09
                                    • 1970-01-01
                                    • 2023-04-03
                                    • 1970-01-01
                                    • 2011-08-03
                                    • 1970-01-01
                                    • 1970-01-01
                                    • 2017-11-25
                                    • 2018-05-27
                                    相关资源
                                    最近更新 更多