Laravel - 如何使用命令行 artisan 命令,例如在托管服务器上迁移
Laravel - How to use command line artisan commands like migrate on hosted server
因此,当我使用 localhost 时,我使用 cmd 来执行 运行 artisan 命令。但是,当我在服务器上上传我的应用程序时,我如何 运行 那些类型的命令?我搜索但最终感到困惑,我不知道该怎么办。提前致谢。
我找到了这段代码,运行 artisan 命令来自路由或控制器
//Setup route example
Route::get('/myapp/install/{key?}', array('as' => 'install', function($key = null)
{
if($key == "appSetup_key"){
try {
echo '<br>init migrate:install...';
Artisan::call('migrate:install');
echo 'done migrate:install';
echo '<br>init with Sentry tables migrations...';
Artisan::call('migrate', [
'--package'=>'cartalyst/sentry'
]);
echo 'done with Sentry';
echo '<br>init with app tables migrations...';
Artisan::call('migrate', [
'--path' => "app/database/migrations"
]);
echo '<br>done with app tables migrations';
echo '<br>init with Sentry tables seader...';
Artisan::call('db:seed');
echo '<br>done with Sentry tables seader';
} catch (Exception $e) {
Response::make($e->getMessage(), 500);
}
}else{
App::abort(404);
}
}
}));
从这里开始:http://laravel-tricks.com/tricks/run-artisan-commands-form-route-or-controller
如果您有完整的服务器访问权限,您可以简单地通过 ssh 服务器 运行 所有命令,这里有一些指向 ssh 服务器的链接
https://mediatemple.net/community/products/dv/204404604/using-ssh-in-putty-
有些主机不允许 php 访问所以 Artisan::call 导致错误。在这种服务器中,唯一的方法是 cron jobs
:
https://laravel.com/docs/5.6/scheduling
因此,当我使用 localhost 时,我使用 cmd 来执行 运行 artisan 命令。但是,当我在服务器上上传我的应用程序时,我如何 运行 那些类型的命令?我搜索但最终感到困惑,我不知道该怎么办。提前致谢。
我找到了这段代码,运行 artisan 命令来自路由或控制器
//Setup route example
Route::get('/myapp/install/{key?}', array('as' => 'install', function($key = null)
{
if($key == "appSetup_key"){
try {
echo '<br>init migrate:install...';
Artisan::call('migrate:install');
echo 'done migrate:install';
echo '<br>init with Sentry tables migrations...';
Artisan::call('migrate', [
'--package'=>'cartalyst/sentry'
]);
echo 'done with Sentry';
echo '<br>init with app tables migrations...';
Artisan::call('migrate', [
'--path' => "app/database/migrations"
]);
echo '<br>done with app tables migrations';
echo '<br>init with Sentry tables seader...';
Artisan::call('db:seed');
echo '<br>done with Sentry tables seader';
} catch (Exception $e) {
Response::make($e->getMessage(), 500);
}
}else{
App::abort(404);
}
}
}));
从这里开始:http://laravel-tricks.com/tricks/run-artisan-commands-form-route-or-controller
如果您有完整的服务器访问权限,您可以简单地通过 ssh 服务器 运行 所有命令,这里有一些指向 ssh 服务器的链接
https://mediatemple.net/community/products/dv/204404604/using-ssh-in-putty-
有些主机不允许 php 访问所以 Artisan::call 导致错误。在这种服务器中,唯一的方法是 cron jobs
:
https://laravel.com/docs/5.6/scheduling