Laravel Artisan 从错误的项目中加载
Laravel Artisan Loading from Wrong project
抱歉,如果之前有人问过这个问题,但我似乎找不到答案。我有一个 Laravel 5.5 应用程序,可以让用户创建自己的项目。它的作用是执行 shell 脚本,该脚本执行 git 克隆到新目录
- 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
我遇到的问题是,当我 运行 使用...
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=".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
非常感谢任何帮助。
您似乎无法选择正确的工作目录。
有几个想法:
编辑 bash 脚本以直接指向您要定位的 artisan 文件:
php /home/user/project.../artisan key:generate
在执行脚本之前尝试更改工作目录,如下所示:
$process = new Process('cd new/working/directory && sh ./createproject.sh '.$this->url);
使用chdir
抱歉,如果之前有人问过这个问题,但我似乎找不到答案。我有一个 Laravel 5.5 应用程序,可以让用户创建自己的项目。它的作用是执行 shell 脚本,该脚本执行 git 克隆到新目录
- 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
我遇到的问题是,当我 运行 使用...
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=".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
非常感谢任何帮助。
您似乎无法选择正确的工作目录。
有几个想法:
编辑 bash 脚本以直接指向您要定位的 artisan 文件:
php /home/user/project.../artisan key:generate
在执行脚本之前尝试更改工作目录,如下所示:
$process = new Process('cd new/working/directory && sh ./createproject.sh '.$this->url);
使用chdir