2016-03-14 38 views
0

我想在流浪机器上SSHed时安装作曲家。每当我运行PHP的安装composer.phar我得到以下错误:运行php composer.phar安装错误

[email protected]:/vagrant$ php composer.phar install 
Loading composer repositories with package information 
Installing dependencies (including require-dev) 
Your requirements could not be resolved to an installable set of packages. 

    Problem 1 
    - Installation request for doctrine/migrations dev-master -> satisfiable by doctrine/migrations[dev-master]. 
    - doctrine/migrations dev-master requires php ^5.5|^7.0 -> your PHP version (5.4.45) does not satisfy that requirement. 

我不知道做什么用的先做“教义安装的请求......”的问题,当我检查运行php -v我安装了php 5.5.27。我也尝试sudo php composer.phar安装。任何见解?

+0

'php5 -v'会一样吗? ..我建议你有2个不同的PHP版本,但是第一个可以在/ usr/bin里面访问,第二个在/ usr/local/bin里面(或者类似的位置)。通常'/ usr/bin/php'是一个符号链接。例如,你在'/ usr/local/bin'里面有'PATH =/usr/local/bin:/ usr/bin:...'你的系统搜索'php',但是找不到。 '/ usr/bin',找到并运行...脚本可以运行'php5'而不是'php' ..系统在第一个PATH位置'/ usr/local/bin'内发现'php5' ..这只是奇怪的建议。这可能是错误的。 – Wizard

+0

当我运行php -v在项目目录中运行php 5.5.27。然而,在我运行流浪的无聊环境之后,它运行了5.4.45。如何在环境中升级php? – yam55

+0

'composer.json'中可能有'platform'部分覆盖PHP版本。 –

回答

0

您的box,precise64(Ubuntu 12.04)可能有一个过时的PHP版本。

有几种方法可以升级PHP。为了简单和模块化,我们将专注于升级PHP。

SSH入禁区:

vagrant ssh 

PHP的,你需要的版本是默认不可用在IIRC的精确回购。添加PPA它有一个更新的版本:

sudo apt-get update 
sudo apt-get install -y python-software-properties 
sudo add-apt-repository -y ppa:ondrej/php5 
sudo apt-get update 

删除现有的PHP:

sudo apt-get purge php5 

检查安装的候选人,应该是至少5.5(这是5.5.33+为我这个职位的):

sudo apt-cache policy php5 

安装PHP5的更新版本:

sudo apt-get install php5 

现在composer应该适合你。

0

看来你的机器上安装了几个PHP。使用以下命令检查PATH环境中的第一个php。

which php 
+0

当我在运行php 5.5.27的项目目录中运行php -v时。然而,在我运行流浪的无聊环境之后,它运行了5.4.45。当我运行哪个php这两种情况都会导致/ usr/bin/php。如何在特定流浪环境中升级php?有小费吗? @Vigikaran – yam55