2013-11-01 12 views
6

Ho accesso SSH al mio server 1and1. Sto cercando di scaricare il compositore.Impossibile scaricare il compositore - 1e1 con accesso ssh al server

alle indicazioni fornite da http://getcomposer.org/download/

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

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

Sto facendo qualcosa di sbagliato? Ovviamente

So che sta dicendo che sto eseguendo php 4.4.9, ma se eseguo phpinfo(), dice che PHP Version 5.4.21 è in esecuzione. Qualche suggerimento su cosa sta succedendo qui?

phpinfo() phpinfo()

php -v php -v

+0

od si esegue recente PHP? –

+0

Questa è la cosa strana ... Se eseguo phpinfo, ottengo 'PHP Versione 5.4.21' – Gravy

+0

Cosa ti dà' php -v'? –

risposta

13

Attualmente 1 & 1 offre un sacco di versioni di PHP con diversi alias.

Tuttavia, il modo più semplice per impostare una versione PHP predefinita da utilizzare è il 1 1 & 1 impostazioni PHP dashboard e impostarlo per ogni singolo dominio. Questo si trova sotto Hosting e quindi le impostazioni PHP. [1&1 PHP Settings (United States site)]

Si noti che 1e1 aggiorna le versioni di PHP ora abbastanza regolarmente e anche la versione CLI può differire da quella di un utente per il rendering del sito.

Risposta originale. È passato molto tempo, consiglio di utilizzare l'ultima 7.x.
In realtà ci sono 4 versioni di php preinstallate su tutti gli hosting condiviso 1and e linux.

Comando:

  • php: versione 4.4 (quello che sta usando con il compositore.)
  • php5: Versione 5.2
  • php5.5: Versione 5.5
  • php6: Versione 5,4

Devi richiamare compositore con PHP5. 5 e funzionerà.

+1

Ottima risposta. Essere consapevoli però che stavo usando PHP 5.5.25 ma era 'php5' che funzionava per me. – Goose

+0

Mi ha risparmiato un sacco di mal di testa! –

0

Se tale server è il server di produzione, probabilmente non dovrebbe utilizzarlo per completare la vostra applicazione, ma di utilizzare il locale macchina di sviluppo per scaricare tutto, quindi caricare l'intera directory.

Da quello che vedo sulla tua shell, stai usando una versione di PHP che è antica. È la versione di PHP 4.4 usata come riga di comando, e questo chiaramente non funziona con il compositore. O si cerca la versione 5.3 di PHP su quella macchina (mi chiedo se potrebbe essere chiamato php53 o qualcosa del genere), e quindi sperare che siano installate tutte le estensioni necessarie, molto probabilmente incluso lo strumento da riga di comando "GIT", probabilmente anche "SVN" , o quella ricerca non ti aiuterà davvero, perché ti mancheranno gli strumenti necessari per un'esperienza di successo di Composer.

Composer è un gestore delle dipendenze di sviluppo. Probabilmente non è destinato a mantenere la base di codice di un server di produzione.

+0

Grazie per le informazioni utili. Composer è un gestore di dipendenze di sviluppo, tuttavia uso 'compositore update' in sviluppo e' compositore installa in produzione'. Rimuovi 'composer.lock' da' .gitignore'. In questo modo, quando spingo su bitbucket/github, quindi eseguo la produzione, eseguo 'composer install' per scaricare e installare le dipendenze del pacchetto come per il mio file' composer.lock'. – Gravy

+0

Non ho usato FTP per la distribuzione in anni. Io uso sempre git e compositore. – Gravy

1

Su 1e1, la versione PHP per il server virtuale sembra bloccata finché non la si aggiorna. C'è una pagina "versione PHP globale" sul dashboard. L'ho appena trovato e ho avanzato il mio da 4-qualcosa a 5.5.

1

Il motivo per cui si ottengono versioni php diverse è perché 1and1 ha diverse versioni di php installate, sia per il client che per il web.

Quindi, se si modificano le impostazioni (nel pannello di controllo 1 e 1) in modo che si stia utilizzando php5.4, quando si esegue il comando phpinfo(), lo rifletterà.

Tuttavia, la versione della riga di comando rifletterà ancora la versione php predefinita per 1and1, che è 4.4.9 (ad oggi).

Quindi, forza la versione php5 per l'installazione del tuo compositore, ma cambia anche la versione globale in 5.4, e starai bene.

Ecco cosa è successo quando l'ho fatto.

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

Si consiglia di utilizzare la versione corretta di PHP curl -sS https://getcomposer.org/installer | php5.5

Problemi correlati