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.