You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel发送邮件重置链接时遭遇语法错误:unexpected token ")"

解决Laravel发送密码重置链接时的ParseError问题

问题描述

使用Illuminate\Support\Facades\Password类发送密码重置链接,代码如下:

$response = Password::broker()->sendResetLink( array(
                'email'=>$user->email,
            ));
if ($response == Password::RESET_LINK_SENT) {
    return $this->sendResponse(true, 'Reset link was sent successfully');
} else {
    return $this->sendError('Reset link not sent - '.$response);
}

遭遇ParseError:syntax error, unexpected token ")",错误指向/vendor/symfony/css-selector/XPath/Extension/NodeExtension.php,本地PHP版本8.0.3,服务器PHP版本8.0。

解决方案

  • 修正代码语法细节:尽管错误提示指向第三方文件,多数情况是自身代码的语法问题导致PHP解析报错位置偏移。确保代码中的箭头是->而非转义后的->,同时改用PHP短数组语法简化代码,降低解析风险:
    $response = Password::broker()->sendResetLink([
        'email' => $user->email,
    ]);
    
    if ($response === Password::RESET_LINK_SENT) {
        return $this->sendResponse(true, 'Reset link was sent successfully');
    } else {
        return $this->sendError('Reset link not sent - ' . $response);
    }
    
  • 更新Symfony组件版本:旧版本的symfony/css-selector可能与PHP8.0存在兼容性问题,执行以下命令更新依赖:
    composer update symfony/css-selector
    
  • 确认PHP版本一致性:服务器上Apache运行的PHP版本可能与CLI版本不一致,导致依赖安装时适配了错误的PHP版本。通过phpinfo()查看Apache的PHP版本,确保与CLI版本(执行php -v查看)均为8.0.x,若不一致需调整服务器配置。
  • 清除Laravel缓存:执行缓存清理命令,避免旧缓存引发的解析异常:
    php artisan cache:clear
    php artisan config:clear
    

内容的提问来源于stack exchange,提问作者Mohammed Ali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 19:43:27