Режим обслуживания 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');
без функции маршрута.