如何让mysqli使用php7

时间:2017-04-16 02:32:50

标签: mysql mysqli php-7 mysqlnd

自从我完成网页设计以来已经有一段时间了,所以我在Windows 10计算机上摆脱了apache,php和mysql。我现在决定要在网站上工作,我的下载中保存了一个旧的apache,php和mysql,但我想更新所有内容。所以我有最新版本的Apache(Apache 2.4),最新版本的PHP(Php7)和最新版本的mysql(不确定版本,但我有WorkBench版本6.3)。在我检查我的php是否正在使用这行代码<?php phpinfo(); ?>之前,它会显示我已经安装了mysql / mysqli并准备好了。但是使用php7它显示了mysqlnd。我尝试使用mysqli命令来检查我是否可以通过mysqli_ping()连接到我的数据库,我还尝试使用server,user,pass连接到数据库。我一直收到错误,如找不到类mysqli。或者调用未定义的函数mysqli_ping()。我已经尝试在网上搜索一些答案,而我所能找到的就是我需要安装mysql(但有些网站表示已弃用)。我能为php7获取mysqli吗?或者我使用mysqlnd?什么是mysqlnd?它是mysql / mysqli的新版本吗?我尝试在谷歌上查找它并没有看到任何关于如何使用它的教程。任何人都可以帮助我吗?

3 个答案:

答案 0 :(得分:0)

mysqlnd扩展是PHP的一部分。它是作为捆绑libmysqlclient的替代方法而开发的,因为该库的许可条件使得与PHP捆绑起来很麻烦。

你不会直接使用mysqlnd。它是一个内部库,由mysqli和pdo_mysql用作与MySQL服务器通信的手段。

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

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

extension=ext_mysqli.dll

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

要正常使用apache并加载所有需要的扩展(包括php_mysqli),您需要 ThreadSafe 版本的PHP,因此请务必download correct version或使用Chocolatey管理您的Windows应用程序,然后使用此命令安装php:

choco install php --params '"/ThreadSafe "'

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

choco install php --params '"/ThreadSafe ""/InstallDir:C:\php"'