2013-11-01 2 views
6

Ich habe SSH-Zugriff auf meine 1and1 Server. Ich versuche, den Komponisten herunterzuladen.Composer kann nicht heruntergeladen werden - 1and1 mit ssh Zugriff auf Server

Nach Anweisungen von http://getcomposer.org/download/

Versuch 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 /> 

Versuch 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>. 

Bin ich etwas offensichtlich falsch?

Ich weiß, dass es heißt, dass ich PHP 4.4.9 ausführen, aber wenn ich phpinfo() ausführen, heißt es PHP Version 5.4.21 läuft. Irgendwelche Vorschläge, was hier vor sich geht?

phpinfo() phpinfo()

php -v php -v

+0

verwenden od Sie den letzten PHP laufen? –

+0

Das ist das seltsame Ding ... Wenn ich PHPinfo ausführen, bekomme ich 'PHP Version 5.4.21' – Gravy

+0

Was gibt' php -v' Ihnen? –

Antwort

13

Derzeit 1 & 1 bietet eine Reihe von PHP-Versionen unter verschiedenen Aliasen.

Der einfachste Weg jedoch, eine Standard-PHP-Version zu verwenden, ist von Ihrem 1 & 1 Dashboard PHP-Einstellungen und setzen Sie es pro Domäne einzeln. Dies befindet sich unter Hosting und dann PHP-Einstellungen. [1&1 PHP Settings (United States site)]

Beachten Sie, dass 1and1 die PHP-Versionen jetzt ziemlich regelmäßig aktualisiert, und auch die CLI-Version kann sich von demjenigen Benutzer unterscheiden, der Ihre Website rendert.

Ursprüngliche Antwort. Es ist eine lange Zeit, ich empfehle die Verwendung der neuesten 7.x.
Es gibt tatsächlich 4 Versionen von PHP auf allen 1and1 Linux Shared Hosting vorinstalliert.

Befehl:

  • php: Version 4.4 (Die einzige Sie tatsächlich mit dem Komponisten verwenden.)
  • php5: Version 5.2
  • php5.5: Version 5.5
  • php6: Version 5,4

Sie haben Komponist aufzurufen php5 verwenden. 5 und es wird einfach funktionieren.

+1

Große Antwort. Beachten Sie jedoch, dass ich PHP 5.5.25 ausgeführt habe, aber es war 'php5', das für mich funktionierte. – Goose

+0

Sparte mir Tonnen von Kopfschmerzen! –

0

Wenn dieser Server Produktionsserver ist, werden Sie wahrscheinlich nicht Ihre Anwendung zu vervollständigen verwenden sollten, aber Ihre lokale verwenden Entwicklungsmaschine, um alles herunterzuladen, und laden Sie dann das ganze Verzeichnis hoch.

Von dem, was ich auf Ihrer Shell sehe, verwenden Sie eine PHP-Version, die uralt ist. Es ist die PHP 4.4-Version, die als Befehlszeile verwendet wird, und das funktioniert eindeutig nicht mit Composer. Entweder suchen Sie nach der 5.3-Version von PHP auf diesem Rechner (ich frage mich, ob es php53 oder so genannt werden könnte), und hoffe dann, dass alle notwendigen Erweiterungen installiert sind, am wahrscheinlichsten das Befehlszeilentool "GIT", wahrscheinlich auch "SVN" oder diese Suche wird Ihnen nicht wirklich helfen, da Ihnen immer noch die notwendigen Werkzeuge für eine erfolgreiche Composer-Erfahrung fehlen würden.

Composer ist ein Entwicklungsabhängigkeitsmanager. Es ist wahrscheinlich nicht vorgesehen, die Codebasis eines Produktionsservers beizubehalten.

+0

Danke für die nützliche Info. Composer ist ein Development-Dependency-Manager, allerdings verwende ich 'Composer-Update' in der Entwicklung und' Composer-Installation in der Produktion'. Ich entferne 'composer.lock' von' .gitignore'. Auf diese Weise, wenn ich zu bitbucket/github drehe, dann in die Produktion ziehe, führe ich 'composer install' aus, um die Paketabhängigkeiten herunterzuladen und zu installieren, wie in meiner' composer.lock' Datei. – Gravy

+0

Ich habe FTP nicht für den Einsatz in Jahren verwendet. Ich benutze immer Git & Composer. – Gravy

1

Auf 1and1 scheint die PHP-Version für Ihren virtuellen Server eingefroren zu sein, bis Sie ihn aktualisieren. Es gibt eine "globale PHP-Version" -Seite im Dashboard. Ich habe es gerade gefunden und meine von 4-etwas auf 5.5 erweitert.

1

Der Grund, warum Sie verschiedene PHP-Versionen bekommen, ist, weil 1and1 verschiedene php-Versionen für Client und Web installiert hat.

Wenn Sie also Ihre Einstellungen (in der Systemsteuerung 1und1) so ändern, dass Sie php5.4 verwenden, wird dies beim Ausführen des Befehls phpinfo() berücksichtigt.

Die Befehlszeilenversion wird jedoch immer noch die Standard-PHP-Version für 1and1 widerspiegeln, die 4.4.9 (ab heute) ist.

Also, erzwingen Sie die PHP5-Version für Ihre Composer-Installation, aber auch die globale Version auf 5.4 ändern, und alles wird gut.

Hier ist, was passiert ist, als ich es getan habe.

~/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

Sie sollten die richtige Version von PHP curl -sS https://getcomposer.org/installer | php5.5

Verwandte Themen