无法连接到 Apache 服务器上的 MySQL

我正在尝试设置一个新的本地网络服务器。Apache 已经在运行并且 php 正在工作。Mysql已安装。我可以通过MySQL工作台运行mysql。但是,我无法从 php 文档连接到 MySQL。


首先,我查看的指南说要在 php.ini 中添加扩展。我转到 php.ini-development 并取消注释该行:


extension=mysqli

重新启动服务器后这没有帮助。我还尝试了诸如 extension=php_mysqli 和 php_mysqli.dll 之类的变体。


事实上我的电脑上确实有 mysql dll。它位于:


C:\php\ext\php_mysqli.dll


我的电脑说,自从我下载该 dll 以来,该 dll 尚未被访问或修改,因此 Apache 根本没有触及它。


这是代码:


<?

$servername = "localhost";


$username = "root";


$password = "*************";


$conn = new mysqli($servername, $username, $password);


if ($conn->connect_error) {


  die("Connection failed: " . $conn->connect_error);


}


echo "Connected successfully";


?> 

我收到此错误:


致命错误:未捕获错误:在 C:\Websites\x.php:14 中找不到类“mysqli”:14 堆栈跟踪:#0 {main} 在第 14 行 C:\Websites\x.php 中抛出


MySQL设置为端口3306,并且httpd.conf中mysqli.default_port设置为3306。


这是Windows 10。MySQL版本是8.0.2。如何让 PHP 使用 mysql 库/与 MySQL 对话?



人到中年有点甜
浏览 87回答 1
1回答

弑天下

首先,确保您正在编辑“正确的”php.ini 文件。您的系统上可能有多个 php.ini 文件,因此请执行以下 PHP 代码以查看在数据库连接脚本的上下文中加载了哪个 php.ini:var_dump(php_ini_loaded_file());然后,尝试在 php.ini 中指定 MySQLi DLL 文件的绝对路径,如下所示:extension=C:\php\ext\php_mysqli.dll注意:修改php.ini后不要忘记重新启动Apache服务器。
打开App,查看更多内容
随时随地看视频慕课网APP