我正在使用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);
}
答案 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
)