[英]$ Composer can't find mongodb extension, required Mongodb extension
我在 macOS Mojave / macOS Big Sur / macOS Monterey / macOS Ventura 上使用最新的 php 版本 7.2 並收到類似的錯誤
$composer require mongodb/mongodb
Using version ^1.4 for mongodb/mongodb
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
有關問題的更多信息:請參閱屏幕截圖
您的要求無法解決為一組可安裝的軟件包。
問題 1 - mongodb/mongodb v1.4.x-dev 需要 ext-mongodb ^1.5.0 -> 您的系統中缺少請求的 PHP 擴展 mongodb。 - mongodb/mongodb 1.5.x-dev 需要 ext-mongodb ^1.6 -> 您的系統中缺少請求的 PHP 擴展 mongodb。 - mongodb/mongodb 1.4.2 需要 ext-mongodb ^1.5.0 -> 您的系統中缺少請求的 PHP 擴展 mongodb。 - mongodb/mongodb 1.4.1 需要 ext-mongodb ^1.5.0 -> 您的系統中缺少請求的 PHP 擴展 mongodb。 - mongodb/mongodb 1.4.0 需要 ext-mongodb ^1.5.0 -> 您的系統中缺少請求的 PHP 擴展 mongodb。 **- mongodb/mongodb ^1.4 的安裝請求 -> 可由 mongodb/mongodb[1.4.0, 1.4.1, 1.4.2, 1.5.x-dev, v1.4.x-dev] 滿足。
安裝失敗,正在將 ./composer.json 還原為其原始內容。
不知道我錯過了什么安裝步驟。 如果有人可以幫助我解決這個作曲家問題,我將不勝感激。 提前謝謝。
作曲家需要 mongodb/mongodb --ignore-platform-reqs
composer require mongodb/mongodb --ignore-platform-reqs
composer require jenssegers/mongodb --ignore-platform-reqs
Using version ^3.4 for jenssegers/mongodb
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 2 installs, 0 updates, 0 removals
- Installing mongodb/mongodb (1.4.2): Downloading (100%)
- Installing jenssegers/mongodb (v3.4.5): Downloading (100%)
jenssegers/mongodb suggests installing jenssegers/mongodb-session (Add MongoDB session support to Laravel-MongoDB)
jenssegers/mongodb suggests installing jenssegers/mongodb-sentry (Add Sentry support to Laravel-MongoDB)
Writing lock file
Generating optimized autoload files
composer require jenssegers/mongodb --ignore-platform-reqs
它解決了我的問題。
通過在終端上運行此命令來安裝 PHP 擴展。
sudo pecl install mongodb
最后,您將看到以下信息。
Build process completed successfully
Installing '/usr/local/Cellar/php/7.3.3/pecl/20180731/mongodb.so'
install ok: channel://pecl.php.net/mongodb-1.5.3
Extension mongodb enabled in php.ini
然后重新啟動您的 PHP 服務。
使用 WAMP 時會發生此錯誤,因為 WAMP 和 CMD 有一個唯一的 php.ini。
因此,您可能已將 mongo-ext 添加到您的 WAMP php.ini 中,因此它看起來好像正在運行並包含在啟用的擴展程序列表中。 但是,這對命令行 php.ini 不可用,您還需要確認您正在運行的 PHP 的 CMD 版本
extension=php_mongodb
為了確認您已經成功,您的 mongo-ext 將顯示在您的 phpinfo() 中,如果您在 CMD 上運行php -m
,它將顯示在渲染列表中
composer require jenssegers/mongodb --ignore-platform-reqs
以上不是正確的方法,因為它會在未來與其他軟件包、更新和/或安裝產生問題。
請檢查是否安裝了mongodb模塊
php -m
轉到安裝目錄並運行以下命令(這將需要一些時間)
作曲家需要 mongodb/mongodb --ignore-platform-reqs
這將忽略 MongoDB 所需的包並安裝 rest。
如果要安裝 MongoDB 模塊,請執行以下命令
sudo apt-get install php-mongodb
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.