jiannei / lumen-api-starter

Lumen 10 基础上扩展出的API 启动项目,精心设计的目录结构,规范统一的响应数据格式,Repository 模式架构的最佳实践。
MIT License
358 stars 59 forks source link

composer install 过程中遇到的问题 #42

Open plsxysam opened 4 years ago

plsxysam commented 4 years ago

Loading composer repositories with package information Installing dependencies (including require-dev) from lock file Your requirements could not be resolved to an installable set of packages.

Problem 1

尝试一: composer require jenssegers/mongodb composer require jenssegers/mongodb --ignore-platform-reqs 无响应

尝试二: pecl install mongodb

ps: 我使用的是php73,pecl在/opt/remi/php73/root/usr/bin/pecl

尝试二成功后,执行composer install

Problem 1

尝试三: composer换源安装 jenssegers/mongodb

提示缺少 ext-mongodb

尝试四: pecl安装mongodb成功 pecl/mongodb is already installed and is the same as the released version 1.8.1 但是php -m 没有发现mongodb扩展

so 修改php.ini 手动添加 extension=mongodb

完成以上步骤,composer install 成功

End

jiannei commented 4 years ago

@plsxysam 感谢分享:clap::clap::clap:

这个是从 Lumen 7 升级到 Lumen 8 时对版本的依赖的扩展包版本要求不一致导致的问题,我当时是使用 composer require jenssegers/mongodb:3.8.x指定对应的依赖版本。

jiannei commented 3 years ago

补充另外一种安装方法:

  1. https://pecl.php.net/package/mongodb 查找 MongoDB 扩展最新版本(目前最新版是 1.9.1) 2.(下载最新版本) wget https://pecl.php.net/get/mongodb-1.9.1.tgz 3.解压 tar zxvf mongodb-1.9.1.tgz cd mongodb-1.9.1/ 4.使用php 配置文件,编译安装,比如
/www/server/php/74/bin/phpize 
./configure --with-php-config=/www/server/php/74/bin/php-config
make && make install
  1. php.ini 中启用
extension = /www/server/php/74/lib/php/extensions/no-debug-non-zts-20190902/mongodb.so
jiannei commented 3 years ago

环境 Mac 版本 Homstead v9.4.0 安装方法:

sudo apt-get update
sudo pecl channel-update pecl.php.net
sudo pecl install mongodb
php -v
ps -ef | grep php
//    /etc/php/7.4/cli/php.ini
extension=mongodb

// /etc/php/7.4/fpm/php.ini
sudo service php7.4-fpm restart
php -m | grep mongodb
php --ri mongodb