# PHP7如何安裝mysqli擴展
## 前言
MySQLi(MySQL Improved)是PHP訪問MySQL數據庫的推薦擴展,相比傳統的mysql擴展,它提供了面向對象和面向過程兩種接口,支持預處理語句、事務處理等現代特性。本文將詳細介紹在PHP7環境下安裝和啟用mysqli擴展的完整流程。
---
## 一、環境準備
在開始安裝前,請確認以下環境:
1. **操作系統**:本文以Ubuntu 20.04為例,其他Linux發行版操作類似
2. **PHP版本**:PHP 7.4(適用于PHP7全系列)
3. **數據庫**:MySQL 5.7或MariaDB 10.3+
檢查PHP是否已安裝:
```bash
php -v
檢查當前加載的擴展:
php -m
sudo apt update
sudo apt install php7.4-mysqli
sudo yum install php-mysqli
php -m | grep mysqli
如果包管理器不可用,可以手動編譯:
cd php-7.4.x/ext/mysqli/
phpize
./configure
make
sudo make install
extension=mysqli.so
php --ini
編輯配置文件(通常位于以下路徑之一):
/etc/php/7.4/cli/php.ini
/etc/php/7.4/apache2/php.ini
/etc/php.ini
確保有以下配置:
extension=mysqli
mysqli.default_host=localhost
mysqli.default_user=root
mysqli.default_pw=
mysqli.default_port=3306
根據您的Web服務器選擇相應命令:
sudo systemctl restart apache2
sudo systemctl restart php7.4-fpm
sudo systemctl restart nginx
php -r "phpinfo();" | grep -i mysqli
<?php
$link = mysqli_connect("localhost", "username", "password");
if (!$link) {
die('連接錯誤: ' . mysqli_connect_error());
}
echo 'MySQLi擴展已成功安裝和工作!';
mysqli_close($link);
?>
錯誤信息:
Call to undefined function mysqli_connect()
解決方案: 1. 確認擴展已正確安裝 2. 檢查php.ini中是否啟用擴展 3. 確保Web服務器使用的php.ini與命令行一致
錯誤信息:
Access denied for user 'username'@'localhost'
解決方案: 1. 確認MySQL用戶權限
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
錯誤信息:
Client does not support authentication protocol
解決方案:
ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
mysqli.allow_persistent=On
mysqli.max_persistent=-1
mysqli.cache_size=2000
$stmt = $mysqli->prepare("INSERT INTO users (name, email) VALUES (?, ?)");
$stmt->bind_param("ss", $name, $email);
特性 | MySQLi | PDO |
---|---|---|
數據庫支持 | 僅MySQL | 多種數據庫 |
預處理語句 | 支持 | 支持 |
面向對象 | 支持 | 支持 |
命名參數 | 不支持 | 支持 |
事務處理 | 支持 | 支持 |
通過本文的詳細步驟,您應該已經成功在PHP7環境中安裝并配置了mysqli擴展。作為MySQL數據庫訪問的現代解決方案,mysqli結合了高性能和安全特性,是傳統mysql擴展的理想替代品。建議開發者始終使用預處理語句來保證應用安全,并定期檢查PHP官方文檔獲取最新更新。
如需進一步學習,可以參考: - PHP官方MySQLi文檔 - MySQL官方連接器文檔 “`
這篇文章共計約1500字,采用Markdown格式編寫,包含: 1. 多級標題結構 2. 代碼塊標記 3. 命令行操作示例 4. 配置示例 5. 問題解決表格 6. 擴展對比表格 7. 外部資源鏈接
內容覆蓋了從安裝到驗證的完整流程,并包含常見問題解決方案和性能優化建議,適合不同水平的PHP開發者參考。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。