dsdapobp26141 2018-08-16 15:08
浏览 80
已采纳

Laravel Artisan从错误的项目中加载

Sorry if this has been asked before but I can't seem to find the answer. I have a Laravel 5.5 application that lets users create their own project. What this does is it executes a shell script that performs a git clone to a new directory

  • cd to the new git directory
  • update the .env db details to new directory (db_dirname)
  • run composer install
  • php artisan key:generate
  • php artisan migrate --seed

The problem I'm having is that when I run this using...

sh project1/public/createproject.sh subdir 

It runs as expected however when running this from PHP the php artisan commands are running against the current project rather than the project that is being dynamically created.

 // 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());

The shell script is below for reference.

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

Any help is much appreciated.

  • 写回答

1条回答 默认 最新

  • dongxianghui3709 2018-08-16 16:07
    关注

    Seems like you have trouble selecting the right working directory.

    A couple if ideas come to mind:

    1. Edit the bash script to point directly to the artisan file you are targeting:

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

    2. Try changing the working directory before executing the script like this:

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

    3. Use chdir

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用