繁体   English   中英

如何使用 PHP 7 启用 mysqli?

[英]How to enable mysqli with PHP 7?

我有最新版本的 Apache (Apache 2.4)、最新版本的 PHP (PHP7) 和最新版本的 MySQL(不确定版本,但我有 WorkBench 版本 6.3)。 过去,当我通过这行代码检查我的 PHP 是否正常工作时<?php phpinfo(); ?> <?php phpinfo(); ?>它会显示我已经安装了 MySQL / mysqli 并准备好了。 但是在 PHP7 中它显示 mysqlnd。

我尝试使用 mysqli 命令来检查是否可以通过mysqli_ping()连接到我的数据库,并且我还尝试使用 server、user、pass 连接到数据库。 我不断收到错误,例如找不到 Class mysqli。 或者调用未定义的函数mysqli_ping()。 我试过在网上搜索一些答案,我能找到的只是我需要安装 MySQL(但一些网站说它已被弃用)。

我可以为 PHP7 获取 mysqli 吗? 还是我使用mysqlnd? 什么是mysqlnd? 是新版本的 MySQL/mysqli 吗?

2020 年更新

对于 Windows 10 用户,我强烈推荐用于 linux (WSL 2) 的windows 子系统并在那里设置您的服务器。

如果在windows环境下需要php和mysql访问,那么最快的方式就是安装Wampserver 如果您还需要通过控制台访问 php,则将 php 位置(如C:\\wamp64\\bin\\php\\php7.4.11 )添加到环境变量中。

如果这不适合您,并且您需要始终在系统上启用完整设置,请按照 choco 进行安装。


要正常使用 apache 并加载所有需要的扩展(包括 php_mysqli),您需要ThreadSafe版本的 PHP,因此请确保下载正确的版本,或者如果您使用Chocolatey来管理您的 Windows 应用程序,那么只需使用以下命令安装 php:

choco install php --package-parameters='"/ThreadSafe "'.

这将在C:\\tools\\php72目录中安装 php,但您可以使用另一个参数覆盖它:

choco install php --package-parameters='"/ThreadSafe ""/InstallDir:C:\PHP"""'.

mysqlnd 扩展是 PHP 的一部分。 它是作为捆绑 libmysqlclient 的替代方案而开发的,因为该库具有许可条件,因此很难与 PHP 捆绑。

您不会直接使用 mysqlnd。 它是一个内部库,被 mysqli 和 pdo_mysql 用作与 MySQL 服务器通信的一种方式。

至于 mysqli,是的,它可用于 PHP 7。我不使用 Windows,但显然并非所有扩展都默认启用。

您可能需要编辑您的 php.ini 并取消注释该行

extension=ext_mysqli.dll

或该扩展程序的任何内容。 它可能已经在文件中,但被注释掉了。 所以去看看吧。

检查您的系统路径环境变量是否包含 PHP 安装目录。 这在 PHP 7.1 / Apache 2.4 / Windows Server 2016 上对我有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM