我有对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()
php -v
答案 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是一个开发依赖项管理器。它可能不是为了维护生产服务器的代码库。