6

我可以通过 SSH 访问我的 1and1 服务器。我正在尝试下载作曲家。

按照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

4

5 回答 5

15

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

但是,设置要使用的默认 PHP 版本的最简单方法是从您的 1&1 仪表板 PHP 设置中单独设置每个域。它位于主机下,然后是 PHP 设置。[ 1&1 PHP 设置(美国站点) ]

请注意,现在 1and1 会定期更新 PHP 版本,而且 CLI 版本可能与渲染您网站的用户不同。

原始答案。时间久了,推荐使用最新的7.x。
实际上所有 1and1 linux 共享主机上都预装了 4 个版本的 php。

命令:

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

您必须使用 php5.5 调用作曲家,它才能正常工作。

于 2014-01-23T10:32:16.977 回答
5

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

于 2014-06-10T11:07:09.887 回答
1

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

于 2014-01-21T21:10:12.757 回答
1

您获得不同 php 版本的原因是因为 1and1 为客户端和 Web 安装了不同的 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> 
于 2014-05-26T16:20:35.163 回答
0

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

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

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

于 2013-11-02T19:50:22.270 回答