2013-12-07 2 views
8

Я использую Bluehost и, к счастью, имею доступ к SSH. Я также установил свой PHP на 5.4 в настройках панели управления. Теперь вот два больших вопроса, которые я не могу понять: как мне установить Composer, и, кроме того, после установки Composer, как мне получить связанные зависимости?Использование Composer PHP на общем пространстве

В этом случае я пытаюсь использовать официальный номер Tumblr PHP Library, который имеет зависимости - все это можно найти на Packagist.

Я упомянул this question, в котором OP использует HostGator. Я попытался установить Composer аналогичным образом и сделал это с кажущимися успешными результатами. Проблема, однако, в том, что я не знаю, где ее установить на Bluehost, поэтому теперь у меня есть Composer, установленный в нескольких случайных местах на сервере, просто потому, что я не знаю, как перейти, чтобы найти, куда его поместить в этот общий пространство.

Я знаю, что это проблема (т. Е. Она установлена ​​не в том месте), потому что, когда я использую файлы и синтаксис компоновщика для установки пакетов, я получаю ошибки, говорящие, что команды не существуют.

Мне очень неинтересно просить о помощи, но если кто-то сможет пройти через надлежащую установку Composer на общем пространстве и правильную установку пакета Composer из Packagist на том же общем пространстве, это будет очень оценили. Я вырыл документацию Composer и, похоже, не нашел подходящего руководства - если можно даже существовать - для этого случая. На данный момент мне интересно, будет ли это отличаться для каждого веб-хостинга.

ответ

0

Я думаю, вы должны сделать что-то подобное. В консоли

echo $PATH 

Используйте один из этих трактов

mv composer.phar {selected path}/composer 
chmod +x {selected path}/composer 

Теперь вы можете просто позвонить композитор везде

2

Вы должны, вероятно, не использовать Composer на удаленном хосте, но вместо того, чтобы установить его на локальная машина, которая используется для загрузки вашего проекта в Bluehost. Там вы можете управлять всеми материалами, необходимыми для получения зависимостей, которые могут включать добавление расширения ZIP или наличие программы ZIP, наличие GIT или Mercurial, если вам нужно взять версию из ветки и т. Д.

Все эти зависимости использования Composer могут быть недоступны на этом удаленном хосте, и, откровенно говоря: вы действительно не хотите устанавливать эти инструменты разработки на производственной машине в любом случае, я думаю. Любое программное обеспечение, которое потенциально может помочь злоумышленнику, не должно присутствовать, если его можно избежать.

+0

'Вы, вероятно, не использовать Composer на удаленном хосте, но вместо того, чтобы установить его на локальном компьютере, который используется для загрузки проекта to..' Это неплохо знать! Насколько я сейчас понимаю, нужно сначала установить * XAMPP *, а затем * Composer * послесловие? – Peter

+0

Для компоновщика требуется установка PHP. Вы можете использовать XAMPP или любой другой метод, который вы найдете для установки PHP. Сам композитор - это просто загрузка файла «phar» - описанный метод установки гарантирует, что настройки PHP верны при установке. – Sven

2

Проблема, однако, заключается в том, что я не знаю, где установить его на Bluehost ...

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

cd $_SERVER['DOCUMENT_ROOT']/project_folder/ 

Как правило, ваш удаленный сервер будет следовать тому же дерево каталогов файлов, что и на локальном компьютере.Однако, если вы не уверены в том, как может быть организована ваша структура файла, вы всегда можете распечатать рабочую директорию локального компьютера:

pwd 

После успешного находятся правильный путь к файлу на вашем общее пространстве, просто установите композитор:

curl -sS https://getcomposer.org/installer | php 

Это доложит что-то вроде:

всех настроек правильного использования Composer Загрузку ...

Композитор успешно установлен на: /var/www/my_project/composer.phar

Использование: PHP composer.phar

Теперь у вас есть доступ к вашему composer.phar в вашем проекте. Дайте мне знать, если вам нужна дополнительная помощь.

5

После установки композитора, упомянутого в KLVTZ. В среде bluehost используйте php-cli вместо php.

php-cli composer.phar install 
4

При установке композитора, самой большой проблемой я столкнулся, что Bluehost в командной строке PHP был 5,2 и композитор нуждается 5.3+.

К счастью, Bluehost дает вам доступ к 5.4. Вы можете найти его на

/ramdisk/php/54/bin/php54-cli 

я в конечном итоге создание псевдонима для вызова composer.phar с помощью указанной выше команды PHP, и это прекрасно работало. Вы можете увидеть более подробную информацию о install composer on bluehost.

+0

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

2

Одна из проблем на Bluehost заключается в том, что команда php на Bluehost не выполняет php-cli. Поэтому я «обхожу», что, имея свой собственный php-скрипт ранее в PATH, а затем переадресую аргументы на php-cli. В том же процессе я создал скрипт с именем composer, который напрямую вызывает php-cli composer.phar.

Таким образом, эта установка работает для меня на Bluehost:

В ~/bin Я имею composer.phar и два Баш скрипты называются php и composer. В ~/.bash_profile Я подписал ~/bin на мой PATH.

  • ~/bin/php выглядит следующим образом:

    #!/bin/bash 
    php-cli "[email protected]" 
    
  • ~/bin/composer выглядит следующим образом:

    #!/bin/bash 
    php-cli ~/bin/composer.phar "[email protected]" 
    
  • И дополнение к ~/.bash_profile таково:

    PATH=$HOME/bin:$PATH 
    PATH=$PATH:$HOME/.composer/vendor/bin 
    export PATH 
    

    (я также добавил ~/.composer/vendor/bin, что видно, это удобно для глобального доступа для некоторых составленных приложений (для меня это laravel)).

Запомните на source ~/.bash_profile. (Или повторно подключиться)

0

Если у вас есть композитор, установленный в корневом каталоге (под public_html), может быть что-то связанное с версией PHP. Как Bluehost при использовании PHP-версии «Имейте в виду, что это только изменяет ваш файл ~/public_html/php.ini. Если вы решите использовать PHP 5.4, вы захотите убедиться, что ваши кроны используют«/usr/php/54/usr/bin/php ", поскольку в противном случае он будет использовать PHP 5.2."

Таким образом, вы можете попробовать с помощью команды

/usr/php/54/usr/bin/php-cli composer.phar install