无法下载作曲家 - 1和1与ssh访问服务器

时间:2013-11-01 19:32:56

标签: php composer-php

我有对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

5 个答案:

答案 0 :(得分:14)

目前1&amp; 1提供了一堆不同别名的PHP版本。

然而,设置默认PHP版本的最简单方法是使用1&amp; 1仪表板PHP设置,并单独为每个域设置。它位于Hosting下,然后是PHP设置。 [1&1 PHP Settings (United States site)]

请注意,1and1现在非常定期更新PHP版本,并且CLI版本可能与呈现您网站的用户不同。

原始答案。已经很长时间了,我建议使用最新的7.x.
实际上,在所有1and1 linux共享主机上预装了4个版本的php。

命令:

  • php:版本4.4(实际上与作曲家一起使用的版本。)
  • php5:版本5.2
  • php5.5:版本5.5
  • php6:版本5.4

你必须使用php5.5调用composer才能正常工作。

答案 1 :(得分:5)

您应该使用正确版本的PHP curl -sS https://getcomposer.org/installer | php5.5

答案 2 :(得分:1)

在1和1上,您的虚拟服务器的PHP版本似乎被冻结,直到您更新它。仪表板上有一个“全局PHP版本”页面。我刚刚找到它并从4-something升级到5.5。

答案 3 :(得分:1)

你得到不同的php版本的原因是因为1and1安装了不同的php版本,无论是客户端还是web。

因此,如果您更改设置(在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> 

答案 4 :(得分:0)

如果该服务器是您的生产服务器,您可能不应该使用它来完成您的应用程序,而是使用本地开发机器下载所有内容,然后上传整个目录。

从我在你的shell上看到的,你使用的是古老的PHP版本。它是用作命令行的PHP 4.4版本,这显然不适用于composer。要么你在那台机器上搜索5.3版本的PHP(我想知道它是否可能被称为php53或者什么),然后希望安装所有必要的扩展,很可能包括“GIT”命令行工具,可能也是“SVN”,或者搜索不会真正帮助你,因为你仍然缺乏成功的作曲家体验所需的工具。

Composer是一个开发依赖项管理器。它可能不是为了维护生产服务器的代码库。