kzakhariy
@kzakhariy
PHP Developer

Как запустить composer install c bash скрипта?

Нужно автоматически развертывать сайты, т.е. сливать с git
и устанавливать зависимости, импортировать базу и т.д.
Проблема когда пробую установить зависимости composer, в результате на экран выводится ничего,

Если делать вручную любой из вариантов - все работает, даже когда указываю неправильно -d то ругается
<?php
exec("sh create_site.sh $sitename", $output);

echo '<pre>';
print_r($output);
echo '</pre>';


?>


#!/usr/bin/env bash

#Вариант 1 - не работает
cd /var/www/demo-sites/site1
/usr/local/bin/composer install 
#Вариант 2 - не работает
/usr/local/bin/composer install -d=/var/www/demo-sites/site1

#Вариант 3 - не работает
# скачал composer.phar и положил в папку
php composer.phar install -d=/var/www/demo-sites/site1
  • Вопрос задан
  • 810 просмотров
Решения вопроса 1
kzakhariy
@kzakhariy Автор вопроса
PHP Developer
Проблема решилась так:
с помощью 2>&1 отловил ошибку:
The HOME or COMPOSER_HOME environment variable must be set for composer to run correctly

оказалось нужно было прописать COMPOSER_HOME а также указывать --working-dir
# Composer install
COMPOSER_HOME="/usr/local/bin/composer"  php /usr/local/bin/composer  install  --working-dir=/var/www/sites/$SITE_NAME 2>&1  || true
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
romy4
@romy4
Exception handler
1. неправильный путь
2. в консоли и пхп под разными пользователями
Ответ написан
Должно работать при глобальной установке композера (у меня работает):
cd /path/to/site
composer update

Правильно выше сказали про права и пути.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы