我在默认情况下运行 php 5.3 的服务器下安装 Laravel 时遇到问题,但我可以选择在任何特定目录下运行的 php 版本。
guzzlehttp/guzzle 4.1.2 requires php >=5.4.0 -> your PHP version does not satisfy that requirement.
所以我选择 PHP 5.4 在 im 尝试安装 laravel 的目录上运行,但作曲家不知道 im 在该目录中运行 PHP 5.4。
如何解决这个问题?
尝试使用 --ignore-platform-reqs
运行composer
命令,例如
composer install --ignore-platform-reqs
当你执行composer install/update
时,它会使用你机器的默认PHP版本运行。要使其适用于特定版本(这是我 Mac 上的示例路径),请使用您的可执行 php 路径进行更改。
/usr/local/Cellar/php71/7.1.8_20/bin/php composer.phar install
这可能会对某些人有所帮助...作曲家可能正在使用/usr/bin/php,请考虑以下事项:
$ which php
/usr/bin/php
$ /usr/bin/php -v
PHP 7.1.33
$ php -v
PHP 7.2.24
$ type -a php
php is aliased to '/usr/bin/php7.2'
php is /usr/bin/php
$ which composer
/usr/local/bin/composer
如您所见,我们的主机有一个别名,以确保在命令行上使用配置的 php(用于网络服务器)版本。但是 composer 被配置为使用/usr/bin/php。
以下是上述情况的解决方法。
更新.bash_aliases文件
alias php="/usr/bin/php7.2"
alias composer="/usr/bin/php7.2 /usr/local/bin/composer"
一旦注销终端并重新登录...
$ type -a composer
composer is aliased to '/usr/bin/php7.2 /usr/local/bin/composer'
composer is /usr/local/bin/composer
Composer 现在使用的是正确的 PHP 版本。