我是Laravel 5的新手,并试图一点一点地理解它,此刻我真的对错误信息感到困惑.MVC对我来说是新事物.
我正在尝试做的是我的网站的博客系统,我下载了名为"Serverfireteam/blog"的软件包; https://phppackages.org/p/serverfireteam/blog
它安装得很好,我想.当我访问http://myhost.com/public/panel/login时,我会看到登录屏幕但是当我登录时它会给我这个错误:
Application.php第1119行中的ErrorException:无法检测应用程序命名空间.(查看:/var/www/html/mpa2/resources/views/vendor/panelViews/dashboard.blade.php)
&&
Application.php第1119行中的RuntimeException:无法检测应用程序命名空间.
有趣的是它之前很好用,我可以登录并制作/编辑博客文章,我可以看到它们转到mysql-database.我也能在现场看到它们.然后我开始修改视图/模板文件,以便将博客输出集成到我网站自己的布局中.
我不知道是什么给了,我试图谷歌寻求解决方案,但没有帮助.什么想法可能是错的?
mpa*_*pak 92
好的,我解决了.我做了什么来解决这个问题:
composer update
Run Code Online (Sandbox Code Playgroud)
给了我以下错误:
[Seld\JsonLint\ParsingException]
"./composer.json" does not contain valid JSON
Parse error on line 9:
"require-dev
---------------------^
Expected: 'STRING' - It appears you have an extra trailing comma
Run Code Online (Sandbox Code Playgroud)
我打开了composer.json,最后一行还有一个额外的逗号:
"require": {
"php": ">=5.5.9",
"laravel/framework": "5.1.*",
}
Run Code Online (Sandbox Code Playgroud)
删除了逗号,看起来像这样:
"require": {
"php": ">=5.5.9",
"laravel/framework": "5.1.*"
}
Run Code Online (Sandbox Code Playgroud)
问题消失了.
moh*_*feh 18
通常,这意味着您的composer.json 文件包含无效的JSON。通常在数组末尾有一个额外的逗号。
尝试运行此命令以准确告诉您问题出在哪里:
composer diagnose
Run Code Online (Sandbox Code Playgroud)
laravel version: 5.8.3
[One more Reason]: default app path in composer.json is modified
the default setup looks like this
"psr-4": {
"App\\": "app/"
},
Run Code Online (Sandbox Code Playgroud)
If its modified to say,
"psr-4": {
"Core\\": "app/Core/"
},
Run Code Online (Sandbox Code Playgroud)
the make commands with artisan wont work, and a few other things
the reason is https://github.com/laravel/framework/blob/5.3/src/Illuminate/Foundation/Application.php#L296
app is static in the path, and here is the where the exception is thrown https://github.com/laravel/framework/blob/5.3/src/Illuminate/Foundation/Application.php#L1143
This default behavior can be modified in bootstrap/app.php
Here is my solution [reference: https://laracasts.com/discuss/channels/general-discussion/how-i-can-change-laravel-directory-structure?page=1]
Core/Application.php
<?php
namespace Core;
use Illuminate\Foundation\Application as IlluminateApplication;
class Application extends IlluminateApplication
{
protected $appPath = __DIR__;
}
Run Code Online (Sandbox Code Playgroud)
bootstap/app.php
$app = new \Core\Application(
$_ENV['APP_BASE_PATH'] ?? dirname(__DIR__)
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22276 次 |
| 最近记录: |