致命错误:未捕获RuntimeException:尚未设置外观根

时间:2018-12-22 07:43:45

标签: php laravel laravel-5 composer-php artisan

我想为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控制器来还原数据库,因为脚本可能已关闭。

1 个答案:

答案 0 :(得分:1)

您不能这样做。 Laravel有点复杂,因此仅包含自动加载器还不够。您应该看一下public/index.php文件中的内容,但是如果要创建从控制台运行的脚本,最好的选择是创建Artisan command,而不仅仅是尝试手动运行流程以使其正常运行。

如果您只想运行现有命令(或您创建的命令),则可以这样创建路由:

Route::get('/down', function() {
     Artisan::call('down', ['--message' => 'Restore Mode']);
});

然后在浏览器中,您可以只运行http://yoururl.com/down-当然,请确保只允许某些类型的用户而不是全部用户运行此类url。