【发布时间】:2020-12-03 23:17:51
【问题描述】:
我正在尝试设置一个新的本地网络服务器。 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自从我下载后就没有被访问或修改过,所以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' 堆栈跟踪:#0 {main} 在第 14 行的 C:\Websites\x.php 中抛出
MySQL设置为3306端口,httpd.conf中mysqli.default_port设置为3306。
这是 Windows 10。MySQL 版本是 8.0.2。如何让 PHP 使用 mysql 库/与 MySQL 对话?
编辑: 与How to solve "Fatal error: Class 'MySQLi' not found"? 不同。 我已经尝试了那里的解决方案,但到目前为止没有一个答案有效。
【问题讨论】:
-
这有帮助吗? stackoverflow.com/questions/666811/…(需要在php.ini中设置扩展目录)
-
@Vincent 你好,vincent,你能格式化你的问题吗?
-
所以,我看了一下帖子。它有两个主要答案:取消注释扩展名。 (我已经试过了。)另外,安装了 Mysqli。由于我有 dll 文件,我假设我已经安装了它?这:php.net/manual/en/mysqli.installation.php 说要安装 Windows 二进制文件,但我不确定这是否与 php 本身不同。所以,帖子并没有解决问题。