关闭Laravel网络服务器后,无法通过Artisan命令再次启动服务器

pvabu6sv  于 2022-12-27  发布在  其他
关注(0)|答案(2)|浏览(185)

我想上传并对我的网站做一些更改,所以通过调用下面的代码,我试图关闭laravel服务器:网页.php:

Route::get('/shotdown_website', function () {
    Artisan::call('down');
    return "Website Down successfully";
});

不幸的是,我无法再次访问服务器。

Route::get('/Turn_Up_Desk2929', function () {
    Artisan::call('up');
    return "Website Up successfully";
});

当我在浏览器地址栏中写入mywebsite/Turn_Up_Desk2929时,它会将我重定向到错误服务器页面,即503。
总的来说,在第一步中,我关闭了服务器,但在第二步中,我无法再次启动服务器。另外,在PHPstorm终端中,我没有任何问题。谢谢。

oug3syen

oug3syen1#

这是因为服务器已关闭,您无法发出任何请求,即使是使服务器启动请求。
因此,如果您想使用请求使服务器启动,则需要在使服务器关闭时定义secret,并使用启动请求发送机密
--secret可以是您想要的任何字符串:

Route::get('/shotdown_website', function () {
    Artisan::call('down',['--secret'=>'630542a-246b']);
    return "Website Down successfully";
});

然后以管理员身份访问服务器,您需要发送此requet. secret参数是您在上面代码中设置的令牌:

https://example.com/secret

这样,将创建一个cookie,确定您是管理员并可以创建任何请求。
因此您可以拨打以下路由

Route::get('/Turn_Up_Desk2929/', function () {
    Artisan::call('up');
    return "Website Up successfully";
});
kqlmhetl

kqlmhetl2#

你可以在一个提供程序文件中运行Artisan::call('up'),如AppServiceProvider。这个文件在任何情况下都是renderd,即使应用程序处于维护模式。然后创建任何请求。

use Illuminate\Support\Facades\Artisan;

class AppServiceProvider extends ServiceProvider
{
 public function boot()
    {
        Artisan::call('up');
        //
    }
}

相关问题