我想为laravel脚本创建restore.php文件。 我在公用文件夹上添加了还原文件。当我要在此文件上使用artisan命令时,请向我显示此错误。
(!)致命错误:未捕获RuntimeException:未设置外观根。在C:\ wamp64 \ www \ myscript \ vendor \ laravel \ framework \ src \ Illuminate \ Support \ Facades \ Facade.php中的第218行 (!)RuntimeException:尚未设置外观根。在C:\ wamp64 \ www \ myscript \ vendor \ laravel \ framework \ src \ Illuminate \ Support \ Facades \ Facade.php的第218行
restore.php:
<?php
use Illuminate\Support\Facades\Artisan;
include '../vendor/autoload.php';
Artisan::call('migrate');
注意:我不想使用Laravel控制器来还原数据库,因为脚本可能已关闭。
答案 0 :(得分:1)
您不能这样做。 Laravel有点复杂,因此仅包含自动加载器还不够。您应该看一下public/index.php
文件中的内容,但是如果要创建从控制台运行的脚本,最好的选择是创建Artisan command,而不仅仅是尝试手动运行流程以使其正常运行。
如果您只想运行现有命令(或您创建的命令),则可以这样创建路由:
Route::get('/down', function() {
Artisan::call('down', ['--message' => 'Restore Mode']);
});
然后在浏览器中,您可以只运行http://yoururl.com/down
-当然,请确保只允许某些类型的用户而不是全部用户运行此类url。