无法连接到 Apache 服务器上的 MySQL
Unable to Connect to MySQL on Apache Server
我正在尝试设置一个新的本地网络服务器。 Apache 已经 运行ning 并且 php 正在运行。 Mysql 已安装。我可以运行mysql通过MySQLworkbench。但是,我无法从 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";
?>
我收到这个错误:
Fatal error: Uncaught Error: Class 'mysqli' not found in C:\Websites\x.php:14 Stack trace: #0 {main} thrown in C:\Websites\x.php on line 14
MySQL设置为3306端口,httpd.conf中mysqli.default_port设置为3306。
这是Windows10。MySQL版本是8.0.2。我怎样才能让 PHP 使用 mysql library/talk 到 MySQL?
编辑:
与 How to solve "Fatal error: Class 'MySQLi' not found"? 不同。
我已经尝试了那里的解决方案,但到目前为止 none 的答案有效。
首先,确保您正在编辑“正确的”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服务器。
我正在尝试设置一个新的本地网络服务器。 Apache 已经 运行ning 并且 php 正在运行。 Mysql 已安装。我可以运行mysql通过MySQLworkbench。但是,我无法从 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";
?>
我收到这个错误:
Fatal error: Uncaught Error: Class 'mysqli' not found in C:\Websites\x.php:14 Stack trace: #0 {main} thrown in C:\Websites\x.php on line 14
MySQL设置为3306端口,httpd.conf中mysqli.default_port设置为3306。
这是Windows10。MySQL版本是8.0.2。我怎样才能让 PHP 使用 mysql library/talk 到 MySQL?
编辑: 与 How to solve "Fatal error: Class 'MySQLi' not found"? 不同。 我已经尝试了那里的解决方案,但到目前为止 none 的答案有效。
首先,确保您正在编辑“正确的”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服务器。