Composer 如何设置为制定安装低于某个 PHP 版本的 package?

大概需求是这样的,本地开发是 php 5.6 ,服务器是 5.5,甚至有的更低
现在想 composer 在本地 install/update 的时候能够安装低版本php所支持的package版本
这个在 composer.json 中如何设置呢?

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 11
 "require": {
       "php": ">=5.6.4",
       "laravel/framework": "5.3.*"
 },
8年前 评论

@overtrue 这样在服务器上直接过不了php的版本依赖啊

8年前 评论

@fasthold 你这个需求真的很奇怪啊,那就不约束 PHP 版本就好了啊,当然如果其它包已经写明了 PHP 版本依赖你肯定是装不上的啊,再说了,服务器环境为啥不统一呢?从来没见过环境不统一的玩法哦。

8年前 评论

你们服务器用 5.5,你们自己开发机用 5.6 没用啊。最好还是统一环境先,服务器端不好动的话,就开发机统一用 5.5。

8年前 评论

@overtrue
@MrJing

外包项目,客户的服务器就是5.5的....
换一个客户,又有可能是5.6的
无奈啊 又不想开发机老折腾换php环境

8年前 评论

@fasthold 无论如何:如果其它包已经写明了 PHP 版本依赖你肯定是装不上的

8年前 评论

@fasthold 就算是这样,开发环境尽量和生产环境一致是基本原则。偷这一点懒,最后导致因为开发环境导致事故就得不偿失了。可以用PHP多版本工具来解决。http://rmingwang.com/php-version-managemen...

我自己的方案是,vagrant 上安装多个 box,需要用哪个就用哪个。

8年前 评论
leo
8年前 评论

require 里面指定的版本不完全靠谱,用这个才行

getcomposer.org/doc/06-config.md#p...

"config": {
  "platform": {
    "php": "7.3.18"
  }
}
4年前 评论

不能在 require 里面指定不符合本地环境 Php 版本 :joy: 楼上的方法可行

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!