2013-11-01 28 views
6

我有SSH訪問我的1and1服務器。我正嘗試下載作曲家。不能下載作曲家 - 1and1 SSH訪問服務器

http://getcomposer.org/download/

嘗試1以下說明:

user:~ > curl -sS https://getcomposer.org/installer | php 
X-Powered-By: PHP/4.4.9 
Content-type: text/html 

<br /> 
<b>Parse error</b>: syntax error, unexpected '{' in <b>-</b> on line <b>316</b><br /> 

嘗試2:

php -r "eval('?>'.file_get_contents('https://getcomposer.org/installer'));" 
Error in argument 1, char 2: option not found r 
Usage: php [-q] [-h] [-s] [-v] [-i] [-f <file>] 
     php <file> [args...] 
    -a    Run interactively 
    -b <address:port>|<port> Bind Path for external FASTCGI Server mode 
    -C    Do not chdir to the script's directory 
    -c <path>|<file> Look for php.ini file in this directory 
    -n    No php.ini file will be used 
    -d foo[=bar]  Define INI entry foo with value 'bar' 
    -e    Generate extended information for debugger/profiler 
    -f <file>  Parse <file>. Implies `-q' 
    -h    This help 
    -i    PHP information 
    -l    Syntax check only (lint) 
    -m    Show compiled in modules 
    -q    Quiet-mode. Suppress HTTP Header output. 
    -s    Display colour syntax highlighted source. 
    -v    Version number 
    -w    Display source with stripped comments and whitespace. 
    -z <file>  Load Zend extension <file>. 

我做得顯然是錯誤的?

我知道這是說我正在運行php 4.4.9,但如果我運行phpinfo(),它說PHP Version 5.4.21正在運行。關於這裏發生了什麼的任何建議?

的phpinfo() phpinfo()

PHP -v php -v

+0

的正確版本? –

+0

多數民衆贊成在奇怪的事情......如果我運行phpinfo,我得到'PHP版本5.4.21' – Gravy

+0

'php -v'給你什麼? –

回答

13

當前1 & 1提供了一系列不同別名下的PHP版本。

但是,設置默認PHP版本的最簡單方法是使用儀表板PHP設置並分別爲每個域設置它。這位於Hosting和PHP設置下。 [1&1 PHP Settings (United States site)]

請注意,1and1現在非常有規律地更新PHP版本,並且CLI版本可能與一位用戶不同以呈現您的網站。

原來的答案。已經很長時間了,我推薦使用最新的7.x.
實際上有4個版本的PHP預裝在所有1and1 Linux共享主機上。

命令:

  • php:第4版。4(你實際上與作曲家使用一個。)
  • php5:5.2版
  • php5.5:5.5版
  • php6:5.4版本

你必須使用PHP5調用作曲家。 5,它會工作。

+1

很棒的回答。請注意,雖然我正在運行PHP 5.5.25,但它是'php5',爲我工作。 – Goose

+0

救了我頭痛! –

0

如果該服務器是生產服務器,你可能不應該用它來完成您的應用程序,但使用本地開發機器下載一切,然後上傳整個目錄。

從我在你的shell中看到的,你正在使用一個古老的PHP版本。它是用作命令行的PHP 4.4版本,這顯然不適用於作曲家。要麼搜索那臺機器上的5.3版本的PHP(我想知道它是否可能被稱爲php53什麼的),然後希望安裝所有必要的擴展,最有可能包括「GIT」命令行工具,也可能是「SVN」 ,或者這種搜索不會真正幫助你,因爲你仍然缺乏成功的作曲家體驗的必要工具。

Composer是一個開發依賴管理器。它可能不是用來維護生產服務器的代碼庫。

+0

感謝您的有用信息。 Composer是一個開發依賴管理器,但是我在開發中使用'composer update',在作品中安裝'composer'。我從'.gitignore'中刪除'composer.lock'。這樣,當我推送到bitbucket/github,然後進入生產,我運行'composer install'來按照我的'composer.lock'文件下載和安裝軟件包依賴項。 – Gravy

+0

多年來我沒有使用FTP進行部署。我總是使用git&composer。 – Gravy

1

在1and1上,虛擬服務器的PHP版本似乎被凍結,直到您更新爲止。儀表板上有一個「全球PHP版本」頁面。我剛剛發現它,並從4到5.5的先進礦井。

1

你得到不同的PHP版本的原因是因爲1and1已安裝不同的PHP版本,爲客戶端和網絡。因此,如果您更改設置(在1and1控制面板中),以便您使用php5.4,那麼當您運行phpinfo()命令時,它將反映出這一點。

但是,命令行版本仍然會反映1and1的缺省php版本,即4.4.9(截至今天)。

因此,強制爲您的作曲家安裝php5版本,但也要將全球版本更改爲5.4,並且您會沒事的。

下面是我做這件事時發生的事情。

~/demo > curl -sS https://getcomposer.org/installer | php6 
X-Powered-By: PHP/5.4.28 
Content-type: text/html 

#!/usr/bin/env php 
All settings correct for using Composer 
Downloading... 

Composer successfully installed to: /homepages/19/[my1and1info]/htdocs/demo/composer.phar 
Use it: php composer.phar 
(uiserver):[my1and1info]:~/demo> 
5

OD運行PHP最近您應該使用PHP curl -sS https://getcomposer.org/installer | php5.5