【发布时间】:2016-06-11 20:42:52
【问题描述】:
我正在使用 Laravel 5.1,由于某种原因,我不时收到此错误:
Response.php 第 397 行中的 UnexpectedValueException: Response 内容必须是实现 __toString() 的字符串或对象,给定“boolean”。
非常令人沮丧的是,这是非常不可预测的,而且它只会不时发生 - 因此甚至很难调试,因为它并不一致。我有一个简单的方法来转储翻译文件,如下所示:
Route::get('test', function() {
return trans('restaurant');
});
如果我不断刷新页面,它会在大多数情况下显示输出正常。但是,每 20-30 次调用一次,我就会收到错误消息!有人可以在这里阐明一下吗?
这是堆栈跟踪:
UnexpectedValueException in Response.php line 397:
The Response content must be a string or object implementing __toString(), "boolean" given.
in Response.php line 397
at Response->setContent(false) in Response.php line 54
at Response->setContent(array(...)) in Response.php line 200
at Response->__construct(array(...)) in Router.php line 1229
at Router->prepareResponse(object(Request), array(...)) in Router.php line 709
at Router->Illuminate\Routing\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 139
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in LocaleSettings.php line 30
at LocaleSettings->handle(object(Request), object(Closure))
at call_user_func_array(array(object(LocaleSettings), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in LaravelLocalizationRedirectFilter.php line 53
at LaravelLocalizationRedirectFilter->handle(object(Request), object(Closure))
at call_user_func_array(array(object(LaravelLocalizationRedirectFilter), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in LocaleSessionRedirect.php line 25
at LocaleSessionRedirect->handle(object(Request), object(Closure))
at call_user_func_array(array(object(LocaleSessionRedirect), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103
at Pipeline->then(object(Closure)) in Router.php line 710
at Router->runRouteWithinStack(object(Route), object(Request)) in Router.php line 675
at Router->dispatchToRoute(object(Request)) in Router.php line 635
at Router->dispatch(object(Request)) in Kernel.php line 236
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 139
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Debugbar.php line 49
at Debugbar->handle(object(Request), object(Closure))
at call_user_func_array(array(object(Debugbar), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in VerifyCsrfToken.php line 50
at VerifyCsrfToken->handle(object(Request), object(Closure))
at call_user_func_array(array(object(VerifyCsrfToken), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in ShareErrorsFromSession.php line 49
at ShareErrorsFromSession->handle(object(Request), object(Closure))
at call_user_func_array(array(object(ShareErrorsFromSession), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in StartSession.php line 62
at StartSession->handle(object(Request), object(Closure))
at call_user_func_array(array(object(StartSession), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 37
at AddQueuedCookiesToResponse->handle(object(Request), object(Closure))
at call_user_func_array(array(object(AddQueuedCookiesToResponse), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in CheckForMaintenanceMode.php line 44
at CheckForMaintenanceMode->handle(object(Request), object(Closure))
at call_user_func_array(array(object(CheckForMaintenanceMode), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103
at Pipeline->then(object(Closure)) in Kernel.php line 122
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 87
at Kernel->handle(object(Request)) in index.php line 54
【问题讨论】:
-
没有报错时
trans('restaurant');的值通常是多少? -
它是一个数组,但是 Laravel 在吐出的时候通常会将数组转换为 JSON。
-
它已经回答了,请检查此链接:stackoverflow.com/questions/31436047/…
-
如果可能尝试
json_encode(trans('restaurant')),结果好坏。我的意思是您期望的内容是否实际上可能将其作为字符串值。