[英]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.