Я пытаюсь установить composer на свой общий хост впервые.
Когда я бегу curl -sS https://getcomposer.org/installer | php
Я получаю Composer успешно установлен
Пользователь это: php composer.phar
когда я бегу php composer.phar
я получаю эту враждующую ошибку:
Предупреждение: Composer должен вызываться через CLI-версию PHP, а не cgi-fcgi SAPI
Любые идеи о том, как это исправить ? и почему я получаю эту ошибку? 🙁
когда я бегу php -v
я вернул это
PHP 5.4.39 (cgi-fcgi) (built: Mar 25 2015 14:20:20)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
with Zend Guard Loader v3.3, Copyright (c) 1998-2013, by Zend Technologies
Нужно ли мне запускать это, используя версию CLI, если да, то как мне это сделать?
Любая помощь будет хорошо, спасибо.
Я решил это путем явного вызова версии PHP, которую он запрашивал. Имейте в виду, что в среде с общим сервером часто работает несколько версий PHP, и, хотя вы, возможно, установили значение по умолчанию в конфигурации cPanel, команды bash часто переходят в другую (более низкую) версию.
Во-первых, я создал bin
каталог и переместил composer.phar в него. Затем я добавил этот псевдоним в свой .bash_profile, и он работал как шарм:
alias composer="/usr/php/54/usr/bin/php-cli ~/bin/composer.phar"
Надеюсь это поможет!
Поскольку Composer теперь доступен через WHM, вы можете использовать его, чтобы найти его:
which composer
Этот возвращенный путь «/ opt / cpanel / composer / bin / composer» для меня. Если это ничего не возвращает, игнорируйте оставшуюся часть этого ответа, так как Composer недоступен для вас на системном уровне.
Теперь вы можете использовать php-cli
чтобы вызвать это с абсолютным путем Composer:
php-cli /opt/cpanel/composer/bin/composer install
php-cli /opt/cpanel/composer/bin/composer update
php-cli /opt/cpanel/composer/bin/composer require whatever/example
Однако вам может понадобиться псевдоним php-cli
если ваша система утверждает, что это не найдено. Это очень сильно зависит от того, как PHP был развернут на WHM-сервере. Вы можете сделать это, добавив псевдоним пользователя в конец вашего файла .bashrc следующим образом:
alias php-cli=/opt/cpanel/ea-php72/root/usr/bin/php
замещать ea-php72
с выпуском PHP, который вы хотите использовать. Отправьте это как команду в оболочке, чтобы сделать ее доступной немедленно, иначе она станет доступной, когда вы откроете следующую сессию Bash.
Если вы хотите сделать это доступным только с composer
в одиночку вы можете создать этот псевдоним снова в «.bashrc»:
alias composer=/opt/cpanel/ea-php72/root/usr/bin/php /opt/cpanel/composer/bin/composer
Расположение установленных версий php зависит от хоста. Попробуйте найти их с помощью:
locate /bin/php
Для меня это перечисляет все версии php, и я могу заменить php, например:
/usr/bin/php71-cli
Для доступа к версии интерфейса командной строки, а не к версии по умолчанию cgi. Затем, как указано @Diggery, вы можете создать псевдоним.
alias composer='/usr/bin/php71-cli bin/composer.phar'
На StackOverflow есть много предложений о том, как протестировать установку Cli, но вышеприведенное — единственное, что сработало для меня.