2016-03-14 35 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