要在 Ubuntu 上为 PHP 8.1 安装 MongoDB 扩展,你需要遵循以下步骤。请注意,MongoDB PHP 扩展已从 PHP 7.2 版本开始被替换为 MongoDB PHP Library (MongoDB driver),这是一个独立的扩展,用于与 MongoDB 数据库交互。
步骤 1: 更新系统包列表
首先,确保你的系统包列表是最新的:
sudo apt update
步骤 2: 安装必要的依赖
为了编译和安装扩展,你需要安装一些必要的依赖:
sudo apt install -y build-essential php8.1-dev libssl-dev libxml2-dev libbz2-dev libcurl4-openssl-dev
步骤 3: 添加 MongoDB PHP 扩展源
MongoDB PHP 扩展是作为 PECL 扩展提供的。你需要添加 MongoDB 的官方 PECL 存储库到你的系统中:
sudo apt install -y software-properties-common
sudo add-apt-repository ppa:mongodb/mongodb-php-library
sudo apt update
步骤 4: 安装 MongoDB PHP 扩展
现在你可以安装 MongoDB PHP 扩展了:
sudo apt install -y php8.1-mongodb
步骤 5: 启用扩展
你需要确保 MongoDB 扩展在 PHP 配置文件中被启用。通常情况下,安装过程会自动添加扩展到 PHP 配置文件中。你可以检查 php.ini 文件确认是否已经启用了扩展:
grep 'mongodb' /etc/php/8.1/mods-available/mongodb.ini
如果你没有看到相关配置,可以手动编辑 php.ini 文件并添加以下行:
extension=mongodb.so
你可以在 /etc/php/8.1/cli/php.ini 或 /etc/php/8.1/fpm/php.ini 文件中添加此行,具体取决于你是想要在 CLI 还是 Web 服务器上使用扩展。
步骤 6: 重启 PHP-FPM 和 Web 服务器
重启 PHP-FPM 和 Web 服务器(如 Apache 或 Nginx)以应用更改:
sudo systemctl restart php8.1-fpm
sudo systemctl restart apache2 # 如果使用 Apache
# 或
sudo systemctl restart nginx # 如果使用 Nginx
步骤 7: 验证安装
安装完成之后和一直用命令来验证扩展包是安装成功
php -m
也可以使用 phpinfo() 函数来验证 MongoDB 扩展是否已正确安装并启用。创建一个 PHP 文件,例如 info.php,并包含以下内容:
<?php
phpinfo();
?>
将这个文件放在你的 Web 服务器的文档根目录下,然后通过浏览器访问该文件(例如 http://yourserver/info.php)。在生成的页面中搜索 "mongodb" 来确认扩展是否已被加载。
步骤 8: 清理
一旦安装完成,你可以清理不再需要的安装文件:
sudo apt autoremove
注意事项
- 确保你的 PHP 和 MongoDB 版本兼容。你可以查看 MongoDB PHP Driver 文档以获取支持的版本信息。
- 如果你在安装过程中遇到问题,确保你有正确的权限,并且遵循了所有必需的依赖安装步骤。
以上步骤应该可以帮助你在 Ubuntu 上成功安装 MongoDB PHP 扩展。如果你在安装过程中遇到任何问题,请随时向我提问。