简体   繁体   中英

Laravel Artisan Loading from Wrong project

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.

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM