2017-04-16 52 views
0

自從我完成網頁設計之後,我已經有一段時間了,所以我在Windows 10電腦上刪除了apache,php和mysql。我決定現在想在網站上工作,並且在下載時保存了舊的apache,php和mysql,但我想更新所有內容。所以我有最新版本的Apache(Apache 2.4),最新版本的PHP(Php7)和最新版本的mysql(不確定版本,但我有WorkBench版本6.3)。之前,當我檢查如果我的PHP正在通過這行代碼<?php phpinfo(); ?>它將顯示我已安裝mysql/mysqli並準備好去。但是用php7它顯示了mysqlnd。我嘗試使用mysqli命令來檢查我是否可以通過mysqli_ping()連接到我的數據庫,並且我還嘗試使用服務器,用戶,傳遞連接到數據庫。我不斷收到諸如Class mysqli未找到的錯誤。或者調用未定義函數mysqli_ping()。我試着在網上搜索一些答案,我能找到的是我需要安裝mysql(但少數網站表示它已被棄用)。我能爲php7獲取mysqli嗎?或者我使用mysqlnd?什麼是mysqlnd?它是mysql/mysqli的新版本嗎?我試圖在谷歌上查找,並沒有看到關於如何使用它的任何教程。有人可以幫我從這裏出去嗎?如何獲得mysqli使用php7

+0

Mysqlnd在PHP文檔中提到,所以你可以很容易地找到你的一些問題的答案。 關於mysqli: 您是否試過只安裝mysqli擴展名?我會建議使用PDO,但是如果您對mysqli感到滿意並且它很小,那麼您仍然可以使用mysqli。 –

回答

0

mysqlnd擴展是PHP的一部分。它是作爲綁定libmysqlclient的替代方案而開發的,因爲該庫具有許可證條件,因此與PHP捆綁在一起使用起來很尷尬。

你不會直接使用mysqlnd。這是一個內部庫,mysqli和pdo_mysql用作與MySQL服務器通信的一種手段。

至於mysqli,是的,它可用於PHP 7.我不使用Windows,但顯然不是所有擴展都默認啓用。

你可能需要編輯你的php.ini,並取消對行

extension=ext_mysqli.dll 

或不管它是針對擴展。它可能已經在文件中,但已被註釋掉。所以,去看看。

+0

我已經做到了。這是我檢查的第一件事。我認爲我的mysql安裝有問題。我剛剛嘗試從命令行訪問,它說它無法連接到'localhost'上的MySQL服務器。我試圖尋找如何啓動MySQL(如果它沒有啓動),一切都指向調用mysqld(這不是爲我顯示) – Vince

+0

請參閱https://dev.mysql.com/doc/refman/5.7/ en/windows-start-service.html獲取有關在Windows上啓動MySQL服務的幫助。 –

0

檢查您的系統路徑環境變量是否包含PHP安裝目錄。這對我在PHP 7.1/Apache 2.4/Windows Server 2016上工作。