Невозможно загрузить композитор – 1 и 1 с доступом ssh к серверу

У меня есть 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

В настоящее время 1 и 1 предлагает кучу версий PHP под разными псевдонимами.

Однако самый простой способ установить версию PHP по умолчанию для использования – из ваших настроек 1 и 1 панели мониторинга панели и установить ее для каждого домена отдельно. Это расположено в разделе «Хостинг», а затем «Настройки PHP». [ Настройки 1 и 1 PHP (сайт в США) ]

Обратите внимание, что 1and1 обновляет версии PHP сейчас довольно регулярно, а также версия CLI может отличаться от одного пользователя для рендеринга вашего сайта.

Оригинальный ответ. Это было давно, я рекомендую использовать новейшие версии 7.x.
На самом деле существует 4 версии php, предварительно установленных на всех хостах linux 1and1.

Команда:

  • php : Версия 4.4 (тот, который вы фактически используете с композитором.)
  • php5 : версия 5.2
  • php5.5 : Версия 5.5
  • php6 : Версия 5.4

Вы должны вызвать композитора, используя php5.5, и он будет работать.

Вы должны использовать правильную версию PHP curl -sS https://getcomposer.org/installer | php5.5 curl -sS https://getcomposer.org/installer | php5.5

На 1 и 1 версия PHP для вашего виртуального сервера кажется замороженной, пока вы ее не обновите. На панели инструментов есть «глобальная версия PHP». Я только что нашел его и перевел мой с 4-х до 5,5.

Причина, по которой вы получаете разные версии php, состоит в том, что 1and1 имеет разные версии php, как для клиента, так и для Интернета.

Поэтому, если вы измените свои настройки (в панели управления 1 и 1), чтобы использовать php5.4, когда вы запустите команду phpinfo (), это отразит это.

Тем не менее, версия командной строки по-прежнему будет отображать версию PHP по умолчанию для 1 и 1, что на 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> 

Если этот сервер является вашим производственным сервером, вы, вероятно, не должны его использовать для завершения вашего приложения, но используйте свою локальную машину разработки для загрузки всего, а затем загрузите весь каталог.

Из того, что я вижу на вашей оболочке, вы используете версию PHP, старую. Это версия PHP 4.4, используемая в качестве командной строки, и это явно не работает с композитором. Либо вы ищете версию PHP на этой машине 5.3 (интересно, можно ли ее назвать php53 или что-то еще), а затем надеются, что все необходимые расширения будут установлены, скорее всего, включая инструмент командной строки «GIT», возможно, также «SVN», , или этот поиск не поможет вам, потому что у вас все еще не хватает необходимых инструментов для успешного использования композитора.

Composer – менеджер зависимостей разработки. Вероятно, он не предназначен для поддержки базы кода производственного сервера.