У меня есть 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 ()
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 – менеджер зависимостей разработки. Вероятно, он не предназначен для поддержки базы кода производственного сервера.