【发布时间】:2022-06-14 00:18:57
【问题描述】:
我正在使用:
Laravel: 9.x-dev
PHP: 8.1.5
laravel/ui: v3.4.5
将我的应用程序从 Laravel 8 更新到 Laravel 9 后,我在尝试进行身份验证时收到此错误。
它在vendor\laravel\ui\auth-backend\ThrottlesLogins.php 中引用行92
protected function throttleKey(Request $request)
{
return Str::transliterate(Str::lower($request->input($this->username())).'|'.$request->ip());
}
【问题讨论】:
-
一个非常奇怪的错误.. Laravel 字符串辅助函数不包含
transliterate函数.. 在 v9.x 和 v8.x 中都没有......在 Github 上的全文搜索显示该函数除了用于西里尔音译的俄语 Laravel 包外,在任何与 php 相关的代码中都没有提及。也许在 Laravel\Ui Github 页面上创建一个问题? -
您能否发布您遇到的完整错误?我的假设实际上是错误的,它不存在。只是文档中没有提到。
-
我也很惊讶在网上其他任何地方都没有发现这个错误。这是我相信的全部错误。如果我还可以包含其他内容,请具体告诉我:
-
BadMethodCallException Method Illuminate\Support\Str::transliterate does not exist.第一帧:Illuminate\Support\Str::__callStatic\vendor\laravel\framework\src\Illuminate\Macroable\Traits\Macroable.php:87(throw...)public static function __callStatic($method, $parameters) { if (! static::hasMacro($method)) { throw new BadMethodCallException(sprintf( 'Method %s::%s does not exist.', static::class, $method )); } -
第二帧:唯一提到
transliterate的位置。在throttleKey函数内的原始帖子中显示的行。