当我尝试在laravel中发送重置密码链接时出现解析错误

时间:2018-01-18 05:02:14

标签: php laravel symfony

我正在使用Laravel 5.4。我尝试请求password reset link时收到错误。

  

的Symfony \元器件\调试\异常\ FatalThrowableErrorPOST   /密码/电子邮件解析错误:语法错误,意外'?',期待   变量(T_VARIABLE)

错误指向的文件就是这个(在'return $next($request)'

  
    

app / Http / Middleware / RedirectIfAuthenticated.php:24App \ Http \ Middleware \ RedirectIfAuthenticated :: handle

  
 namespace App\Http\Middleware;
 use Closure; 
 use Illuminate\Support\Facades\Auth;

 class RedirectIfAuthenticated {
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @param  string|null  $guard
  * @return mixed
  */
 public function handle($request, Closure $next, $guard = null)
 {
     if (Auth::guard($guard)->check()) {
         return redirect('/');
     }

     return $next($request);
 } 
}

我进一步调试代码,发现这个函数引起了很多问题 文件名:Symfony \ Component \ CssSelector \ XPath \ Extension \ AttributeMatchingExtension

public function translateExists(XPathExpr $xpath, string $attribute, ?string $value): XPathExpr
{
    return $xpath->addCondition($attribute);
}

1 个答案:

答案 0 :(得分:3)

我使用php php 7.0.23函数与mail()和Laravel 5.5有同样的问题:

Parse error: syntax error, unexpected '?', expecting variable (T_VARIABLE) at [...]/vendor/symfony/css-selector/XPath/Extension/AttributeMatchingExtension.php:46

通过升级到版本php 7.1 +解决了问题。 (在我的情况下php 7.1.9