Laravel 5.2 中的“PhpDebugBar 未定义”错误
Posted
技术标签:
【中文标题】Laravel 5.2 中的“PhpDebugBar 未定义”错误【英文标题】:"PhpDebugBar is not defined" error in Laravel 5.2 【发布时间】:2017-01-19 12:45:15 【问题描述】:当我尝试运行 Laravel 5.2 项目的登录页面时,发现了这个错误。
Uncaught ReferenceError: jQuery is not defined(匿名函数) @ (索引):137
Uncaught ReferenceError: phpDebugBar is not defined(anonymous 函数)@(索引):139
登录html代码为:
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>test</title>
<link rel="shortcut icon" type="image/png" href="!! url('/') !!/backend/images/favicon.ico"/>
</head>
<body>
<div id="logo"><img src="backend/images/logo.png"></div>
<div id="login_container">
<div id="login_msg">
@if(Session::get('success'))
!! Session::get('success') !!
@else
<span style="font-size:14px;"><strong>Welcome...</strong></span><br>Please enter your login details below to authenticate.
@endif
</div>
<div id="login">
<form action="!! url('/') !!/api/auth/login" method="post" name="loginForm" id="frmlogin">
!! csrf_field() !!
<table border="0" cellspacing="0" cellpadding="5">
<tbody><tr>
<td align="right" valign="middle"><strong>Username</strong></td>
<td align="left" valign="middle"><input type="text" name="login" class="login_inputs"></td>
</tr>
<tr>
<td align="right" valign="middle"><strong>Password</strong></td>
<td align="left" valign="middle"><input type="password" name="password" class="login_inputs"></td>
</tr>
<tr>
<td align="right" valign="middle"><input type="checkbox" name="rememberme" id="rememberme"></td>
<td align="left" valign="middle"><label for="rememberme" style="cursor:hand">Remember me until I logout.</label></td>
</tr>
<tr>
<td align="right" valign="middle"> </td>
<td align="left" valign="middle">
<table cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td><input type="submit" value="Login" class="button"></td>
<td align="right"></td></tr>
</tbody>
</table>
</td>
</tr>
</tbody></table>
</form>
</div>
@if(Session::get('message'))
<div id="extra_info">
<table border="0" cellspacing="0" cellpadding="0">
<tbody><tr>
<td align="left" valign="middle" style="color:#FF0000;">
<span class="error-message"> Session::get('message') </span>
</td>
</tr>
</tbody></table>
</div>
@endif
</div>
<div align="center"><a href="!! url('/') !!/forgot_password">Forgot your password?</a> or <a href="!! url('/') !!/signup">Signup</a></div>
</body></html>
有人可以帮我解决这个错误吗?我哪里做错了?
【问题讨论】:
您是否扩展了布局视图(使用刀片的@extends
)?我在这里看不到。
不@Filip Koblański
那么你没有加载这些资产。您正在从调试栏使用,但您没有任何 <html>
标记...
现在我已经更新了完整的登录页面代码。 @Filip Koblański
调用你的文件,即:login.blade.php
【参考方案1】:
如果您使用的是 Apache,请先检查此步骤。 Mod_Rewrite 允许您根据需要制作自定义和简化的 URL。
<Directory ***>
...
AllowOverride All
...
</Directory>
a2enmod rewrite
service apache2 restart
【讨论】:
请在您的答案中添加一些解释,以便其他人从中学习。是什么让您认为这个问题与 Apache 有关?【参考方案2】:我通过以下步骤解决了问题:
-
作曲家更新
env 将
APP_DEBUG=true
更改为 APP_DEBUG=false
然后是 php artisan config:cache
.env 将 APP_DEBUG=false
更改为 APP_DEBUG=true
然后是 php artisan config:cache
【讨论】:
【参考方案3】:检查服务器上的错误日志。可能是服务器上的磁盘空间已满,然后您会收到此类错误。
【讨论】:
请在您的答案中添加一些解释,以便其他人可以从中学习。服务端的补盘一般不会导致客户端的JS错误【参考方案4】:发现 AJAX 调用可能需要另一个(打开处理程序)。
据此,完整的 app/Http/routes.php 或 web.php 现在将是:
Route::get('/_debugbar/assets/stylesheets', [
'as' => 'debugbar-css',
'uses' => '\Barryvdh\Debugbar\Controllers\AssetController@css'
]);
Route::get('/_debugbar/assets/javascript', [
'as' => 'debugbar-js',
'uses' => '\Barryvdh\Debugbar\Controllers\AssetController@js'
]);
Route::get('/_debugbar/open', [
'as' => 'debugbar-open',
'uses' => '\Barryvdh\Debugbar\Controllers\OpenController@handler'
]);
【讨论】:
以上是关于Laravel 5.2 中的“PhpDebugBar 未定义”错误的主要内容,如果未能解决你的问题,请参考以下文章