拉拉维尔工匠从错误的项目中加载



抱歉,如果之前有人问过这个问题,但我似乎找不到答案。我有一个Laravel 5.5应用程序,允许用户创建自己的项目。这样做是执行一个 shell 脚本,该脚本执行 git 克隆到新目录

  • CD 到新的 git 目录
  • 将 .env 数据库详细信息更新到新目录 (db_dirname(
  • 运行编辑器安装
  • PHP 工匠密钥:生成
  • PHP 工匠迁移 --种子

我遇到的问题是,当我使用以下命令运行它时...

sh project1/public/createproject.sh subdir 

它按预期运行,但是当从 PHP 运行时,php artisan命令针对当前项目而不是动态创建的项目运行。

// Create the Git pull migration script
$process = new Process('sh ./createproject.sh '.$this->url);
$process->setTimeout(300);
$process->run();
// Executes after the command finishes
if (!$process->isSuccessful()) {
throw new ProcessFailedException($process3);
}
Log::Debug($process->getOutput());

下面是 shell 脚本以供参考。

SUBDOMAIN="$1.domain.com"
git clone git@bitbucket.org:user/project.git
cd /home/cloudspr/$SUBDOMAIN
export COMPOSER_HOME="/opt/cpanel/composer/bin/composer"
composer install -d /home/user/$SUBDOMAIN
pwd
php artisan key:generate
php artisan migrate --seed --database=mysql
grep APP_KEY .env

任何帮助都非常感谢。

似乎您在选择正确的工作目录时遇到问题。

如果想到几个想法:

  1. 编辑 bash 脚本以直接指向您要定位的工匠文件:

    PHP/home/user/project.../artisan key:generate

  2. 在执行脚本之前,请尝试更改工作目录,如下所示:

    $process = new Process('cd new/working/directory && sh ./createproject.sh '.$this->url(;

  3. 使用 chdir

相关内容

  • 没有找到相关文章

最新更新