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://www.digitalocean.com/community/tutorials/how-to-use-ssh-to-connect-to-a-remote-server-in-ubuntu

https://mediatemple.net/community/products/dv/204404604/using-ssh-in-putty-

有些主机不允许 php 访问所以 Artisan::call 导致错误。在这种服务器中,唯一的方法是 cron jobshttps://laravel.com/docs/5.6/scheduling