Режим обслуживания Laravel 5 включается без мастеров

Есть ли возможность включать и выключать обслуживание Laravel 5 без команд php artisan up и down, когда мой сайт размещается?

Что я сделал:

Route::get('site/shutdown', function(){
    return Artisan::call('down');
});

Route::get('site/live', function(){
    return Artisan::call('up');
}); 

Первый маршрут работает нормально. Но когда я звоню на сайт/в прямом эфире, сайт все равно отключается. Что может вызвать эту проблему?

Ответ 1

Если ваш проект уже отключен, вы не можете вызвать другую функцию.

Что произошло после запуска php artisan down. Он создает файл с именем down внутри storage/framework. После запуска php artisan up он удаляет файл.

Вы можете создать файл вручную внутри storage/framework. Это по вашему проекту. Если вы хотите снова продлить свой проект, просто удалите файл.

Ответ 2

Чтобы ваш сайт снова жил с использованием URL-адреса, вы можете создать файл live.php, который вы поместите в общую папку laravel, а затем посетите http://your.domain/live.php.

В файле live.php вам нужно что-то вроде этого: (проверьте структуру каталогов проектов, если вы не используете общедоступную папку по умолчанию!)

<?php
unlink(dirname(__FILE__) . "/../storage/framework/down");
header("Location: your.domain"); 
die;

Ответ 3

когда вы запускаете ремесленника. сайт недоступен, поэтому при попытке вызова ваш IP не может получить доступ к сайту. Вы должны позвонить с вашим IP-исключением.

php artisan down --allow=127.0.0.1 --allow=192.168.0.0/16

или добавьте :: 1 к локальному.

чтобы сделать это в маршруте без команды, попробуйте сохранить эту команду в определенной и вызвать ее.

Ответ 4

просто положи

Artisan::call('up');

без функции маршрута.