Как сказать Deployer использовать другую версию PHP после ssh’ed для моего общего хостинга?

Я экспериментирую с Deployer для развертывания приложения Laravel на виртуальном хостинге (используя рецепт laravel) из моего локального ~/Code/project_foo,

Дело в том, что когда я подключен к своему серверу общего хостинга через sshтогда по умолчанию php -v версия 5.6.33, Я подтвердил, что могу изменить версию php на лету, позвонив php70 -v или даже весь путь, как /usr/local/bin/php70 whatever,

Дело в том, что я не знаю, как сказать развертывателю вызывать команды, используя php70 что требуется, в противном случае composer install выходит из строя.

введите описание изображения здесь

Итак, в Терминале я нахожусь в корне проекта Laravel и просто звоню:

dep deploy

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

введите описание изображения здесь

Я проверил Исходный код рецепта Laravel, и я увидел, что есть:

{{bin/php}}

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

/usr/local/bin/php70

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

Это целый сценарий:

<?php
namespace Deployer;

require 'recipe/laravel.php';//env('bin/php', '/usr/local/bin/php70'); // <- I thought that this will work but it doesn't change anything// Project name
set('application', 'my_project');

// Project repository
set('repository', '[email protected]:xxx/xxx.git');

// [Optional] Allocate tty for git clone. Default value is false.
set('git_tty', true);

// Shared files/dirs between deploys
add('shared_files', []);
add('shared_dirs', []);

// Writable dirs by web server
add('writable_dirs', []);// Hosts

host('xxx')
->user('xxx')
->set('deploy_path', '/home/slickpl/projects/xxx');

// Tasks

task('build', function () {
run('cd {{release_path}} && build');
});

// [Optional] if deploy fails automatically unlock.
after('deploy:failed', 'deploy:unlock');

// Migrate database before symlink new release.

before('deploy:symlink', 'artisan:migrate');

0

Решение

ОК, я нашел решение.

Я добавил (после require):

set('bin/php', function () {
return '/usr/local/bin/php70';
});
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]