我有一台Vagrant机器,其中包含我希望运行服务器的实际PHP版本,但在本地我使用的是较新版本的PHP。 在本地更新Composer只需节省大量时间,而不是通过SSH在虚拟机上更新它。
所以我的问题是:当从不同版本的PHP调用composer install
或update
时,它是否会影响供应商文件?
答案 0 :(得分:4)
更新依赖项时使用的PHP版本会影响正在使用的软件包。包可以定义某个PHP版本的要求。
当软件包使用所述版本的功能或PHP 5.3.3或PHP 5.3.27时,需要PHP 5.4或5.5,因为软件包需要某些错误修正。
如果运行此命令时使用的PHP版本无法满足锁定文件中提到的所有PHP版本要求,则Composer会抱怨无法执行composer install
。
在大多数情况下,使用比composer update
更旧的PHP版本运行composer install
可能会有效。但是,使用相同的PHP版本应该是推荐的设置。
另外:在所有PHP版本中使用相同的必需扩展名也需要进行需求检查。
请注意,即使运行Composer命令的命令行PHP不能满足它们,但仍需要Composer假设目标平台上存在给定的PHP版本或扩展,但此功能尚未实现。因此,无法使用目标环境中存在的PHP版本覆盖本地PHP版本。