[英]How to enable mysqli with PHP 7?
我有最新版本的 Apache (Apache 2.4)、最新版本的 PHP (PHP7) 和最新版本的 MySQL(不確定版本,但我有 WorkBench 版本 6.3)。 過去,當我通過這行代碼檢查我的 PHP 是否正常工作時<?php phpinfo(); ?>
<?php phpinfo(); ?>
它會顯示我已經安裝了 MySQL / mysqli 並准備好了。 但是在 PHP7 中它顯示 mysqlnd。
我嘗試使用 mysqli 命令來檢查是否可以通過mysqli_ping()
連接到我的數據庫,並且我還嘗試使用 server、user、pass 連接到數據庫。 我不斷收到錯誤,例如找不到 Class mysqli。 或者調用未定義的函數mysqli_ping()。 我試過在網上搜索一些答案,我能找到的只是我需要安裝 MySQL(但一些網站說它已被棄用)。
我可以為 PHP7 獲取 mysqli 嗎? 還是我使用mysqlnd? 什么是mysqlnd? 是新版本的 MySQL/mysqli 嗎?
對於 Windows 10 用戶,我強烈推薦用於 linux (WSL 2) 的windows 子系統並在那里設置您的服務器。
如果在windows環境下需要php和mysql訪問,那么最快的方式就是安裝Wampserver 。 如果您還需要通過控制台訪問 php,則將 php 位置(如C:\\wamp64\\bin\\php\\php7.4.11
)添加到環境變量中。
如果這不適合您,並且您需要始終在系統上啟用完整設置,請按照 choco 進行安裝。
要正常使用 apache 並加載所有需要的擴展(包括 php_mysqli),您需要ThreadSafe版本的 PHP,因此請確保下載正確的版本,或者如果您使用Chocolatey來管理您的 Windows 應用程序,那么只需使用以下命令安裝 php:
choco install php --package-parameters='"/ThreadSafe "'.
這將在C:\\tools\\php72目錄中安裝 php,但您可以使用另一個參數覆蓋它:
choco install php --package-parameters='"/ThreadSafe ""/InstallDir:C:\PHP"""'.
mysqlnd 擴展是 PHP 的一部分。 它是作為捆綁 libmysqlclient 的替代方案而開發的,因為該庫具有許可條件,因此很難與 PHP 捆綁。
您不會直接使用 mysqlnd。 它是一個內部庫,被 mysqli 和 pdo_mysql 用作與 MySQL 服務器通信的一種方式。
至於 mysqli,是的,它可用於 PHP 7。我不使用 Windows,但顯然並非所有擴展都默認啟用。
您可能需要編輯您的 php.ini 並取消注釋該行
extension=ext_mysqli.dll
或該擴展程序的任何內容。 它可能已經在文件中,但被注釋掉了。 所以去看看吧。
檢查您的系統路徑環境變量是否包含 PHP 安裝目錄。 這在 PHP 7.1 / Apache 2.4 / Windows Server 2016 上對我有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.