У меня есть следующие проблемы с использованием Capistrano с Laravel:Сделать Capistrano использовать псевдоним на разъединять при выполнении сценариев
- Мой хостинг-провайдер не предоставляет версию кли PHP через
php
, но только с помощьюusr/bin/local/.../PHP-CLI
команды - I создал псевдоним для него в моем
.bash_profile
, поэтому запускcomposer install
из cli не представляет проблемы.
Однако Capistrano (насколько я понимаю, из-за этого, начиная с очень основной оболочкой http://capistranorb.com/documentation/faq/why-does-something-work-in-my-ssh-session-but-not-in-capistrano/) не нагружает этот псевдоним, так что я получаю сообщение об ошибке из сценариев композитора, например php artisan
.
Однако на моей машине dev мне нужно сохранить ее как php, так как здесь находится php.
Как я могу решить эту проблему лучше всего? Вам нужна дополнительная информация? Благодарю.
Только в случае, если это помогает, это то, как я называю сценарий:
desc 'Composer install'
task :composer_install do
on roles(:app), in: :groups, limit:1 do
execute "/usr/local/bin/php5-56STABLE-CLI composer.phar install --working-dir #{fetch(:release_path)}"
execute "cp #{fetch(:deploy_to)}/shared/.env #{fetch(:release_path)}/.env"
end
end
Эй, я думаю, что это не сработает (исправьте меня, если я ошибаюсь), потому что php-вызов находится в файле composer.json, и этот файл должен запускаться на моей машине dev без Capistrano. Так что ваше решение не сработает, правильно?Пожалуйста, дайте мне знать, если я что-то не понял. –
Я не могу заменить php, как я могу использовать псевдоним bash, правильно? –
Правильно, эта подстановка работает только для вызовов 'php', выполняемых явными командами Capistrano' execute'. Мой ответ не поможет, если команды 'php' будут похоронены внутри другого скрипта. –