簡體   English   中英

如何使用 PHP 7 啟用 mysqli?

[英]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 嗎?

2020 年更新

對於 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.

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