Mat*_*cki 0 php laravel laravel-5 php-7 php-deployer
我正在尝试使用Deployer从本地将Laravel应用程序部署到共享托管中(使用laravel配方)~/Code/project_foo。
关键是当我通过连接到共享托管服务器时ssh,默认php -v版本是5.6.33。我确认可以通过调用php70 -v甚至整个路径(例如)来动态更改php版本/usr/local/bin/php70 whatever。
关键是我不知道如何告诉部署者使用php70必需的命令来调用命令,否则会composer install失败。
所以在终端中,我位于Laravel项目的根目录下,我只是简单地调用:
dep deploy
我deploy.php很凌乱而且非常简单,但这只是概念的证明。我正在尝试找出所有问题,然后使它看起来更好。
{{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', 'git@github.com: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');
Run Code Online (Sandbox Code Playgroud)
对于搜索更改 Composer 的 PHP 版本的任何人:
set('bin/composer', function () {
return '/usr/bin/php7.4 /usr/local/bin/composer';
});
Run Code Online (Sandbox Code Playgroud)
好的,我找到了解决方案。
我在后面添加了require:
set('bin/php', function () {
return '/usr/local/bin/php70';
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
578 次 |
| 最近记录: |