如何使用PHP 7启用mysqli



我有最新版本的Apache(Apache 2.4(,最新版本的PHP(PHP7(和MySQL的最新版本(不确定版本,但我有WorkBench版本6.3(。过去,当我检查我的php是否通过这条代码<?php phpinfo(); ?>的行工作时,它将表明我已经安装了MySQL/MySQLI并准备就绪。但是使用php7,它显示了mysqlnd。

我尝试使用mySqli命令检查是否可以通过mysqli_ping()连接到我的数据库,并且还尝试使用服务器,用户,通过使用服务器连接到数据库。我一直在找不到诸如Mysqli之类的错误。或致电未定义的函数mysqli_ping((。我已经尝试搜索网络以获取一些答案,我只能找到我需要安装mysql(但是有一些网站说它已弃用了(。

我可以为php7获得mysqli吗?还是我使用mysqlnd?什么是mysqlnd?它是mysql/mysqli的新版本吗?

更新2020

对于Windows 10用户,我强烈建议Linux(WSL 2(的Windows子系统并在此设置服务器。

如果您需要Windows环境中的PHP和MySQL访问,则最快的方法是安装WampServer。如果您还需要通过控制台访问PHP,请在环境变量中添加PHP位置(例如C:wamp64binphpphp7.4.11(。

如果不适合您,并且您需要在系统上始终启用完整的设置


要与Apache正常使用并加载所有需要的扩展名(包括Php_mysqli(,您需要 threadsafe 版本的PHP版本,因此请确保下载正确的版本,或者如果您使用Chocolatey来管理Windows Applications,则只需使用此命令安装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 Server通信的一种手段。

至于mysqli,是的,它适用于PHP7。我不使用Windows,但显然并非所有扩展程序均启用。

您可能需要编辑您的php.ini并取消点击行

extension=ext_mysqli.dll

或该扩展的任何内容。它可能已经在文件中,但发表了评论。所以去看看。

检查您的系统路径环境变量是否包括PHP安装目录。与我一起使用PHP 7.1/Apache 2.4/Windows Server 2016。

最新更新