簡體   English   中英

無法連接到 Apache 服務器上的 MySQL

[英]Unable to Connect to MySQL on Apache Server

我正在嘗試設置一個新的本地 web 服務器。 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";

?> 

我收到此錯誤:

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

httpd.conf中MySQL設置為3306端口,mysqli.default_port設置為3306。

這是 Windows 10。MySQL 版本是 8.0.2。 如何讓 PHP 使用 mysql 庫/與 MySQL 交談?

編輯:與如何解決“致命錯誤:Class 'MySQLi' not found”不同? . 我已經嘗試了那里的解決方案,但到目前為止沒有一個答案有效。

首先,確保您正在編輯“正確”的 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服務器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM