调用未定义的方法 Symfony\Component\HttpFoundation\Response::header()

2023-12-29

你好,我正在使用 cors 中间件,它似乎工作正常,直到我添加了 Laravel Passport,现在它出现了问题..它显示了错误

 Call to undefined method Symfony\Component\HttpFoundation\Response::header() on line number 36 

这是我的中间件:

<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Support\Facades\Response;

class Cors
{

    /**
     * Handle an incoming request.
     *
     * @param \Illuminate\Http\Request $request
     * @param \Closure $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {

// ALLOW OPTIONS METHOD
        $headers = [
            'Access-Control-Allow-Origin' => '*',
            'Access-Control-Allow-Methods' => 'POST, GET, OPTIONS, PUT, DELETE',
            'Access-Control-Allow-Headers' => "Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Authorization , Access-Control-Request-Headers"
        ];


        if ($request->getMethod() == "OPTIONS") {
// The client-side application can set only headers allowed in Access-Control-Allow-Headers
            return Response::make('OK', 200, $headers);
        }

        $response = $next($request);
        foreach ($headers as $key => $value)
            $response->header($key, $value);
        return $response;
    }

}

问题是在 if 条件之后..任何帮助将不胜感激,谢谢


嗨,我遇到了同样的问题。看来这是 Passport 中的一个错误,并且有很多开发人员处于同样的情况。我刚刚找到了这个问题的解决方案。我们收到此错误的原因是因为我们进入了 Response 对象middleware通常是一个实例Illuminate\Http\Response我们可以使用该方法设置响应头的类header('Header-Key', 'Header-Value')而 Passport 处理的 Request 将是一个实例Symfony\Component\HttpFoundation\Response这就是我们收到错误的原因Call to undefined method Symfony\Component\HttpFoundation\Response::header()

下面是我用来解决此错误的代码,现在一切正常。我希望它可以帮助其他开发人员了解如何修复它,然后适应他们的代码。

$response = $next($request);
$IlluminateResponse = 'Illuminate\Http\Response';
$SymfonyResopnse = 'Symfony\Component\HttpFoundation\Response';
$headers = [
    'Access-Control-Allow-Origin' => '*',
    'Access-Control-Allow-Methods' => 'POST, GET, OPTIONS, PUT, PATCH, DELETE',
    'Access-Control-Allow-Headers' => 'Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Authorization , Access-Control-Request-Headers',
];

if($response instanceof $IlluminateResponse) {
    foreach ($headers as $key => $value) {
        $response->header($key, $value);
    }
    return $response;
}

if($response instanceof $SymfonyResopnse) {
    foreach ($headers as $key => $value) {
        $response->headers->set($key, $value);
    }
    return $response;
}

return $response;

而在我的Kernel.php

protected $middleware = [
    \App\Http\Middleware\Cors::class,
    // ....
];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

调用未定义的方法 Symfony\Component\HttpFoundation\Response::header() 的相关文章

  • MySQL/PDO::quote() 尽管使用 PDO::PARAM_INT 参数,但仍在整数周围加上引号

    无论我传递给什么值 数据类型对 它都会出现 pdo gt quote value type 它总是将其引用为字符串 echo pdo gt quote foo PDO PARAM STR foo as expected echo pdo g
  • 在 php 中为类自动生成 getter 和 setter 的最佳方法是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我经常创建一个包含一些私有变量的类 当设置此类的实例时 应该可以使用 getter 和 setter 填充该类的所有变量 有没有一种简单的方法可
  •  
    标记内删除

    我制作了简单的 BBCode 脚本 一切正常 但后来我使用了一个 javascript 库来美化我的代码 pre pre 现在我面临的唯一问题是 br 每行代码后面的标签 pre pre tags 所以问题是我怎样才能删除 br 标记哪些在
  • PHP 会话不适用于游戏

    我正在尝试模仿一款名为 SKUNK 用骰子玩 的游戏来完成一项作业 我无法让会话正常工作 这是我第一次使用 PHP 我还被告知无需会议即可完成 这是我的代码
  • 如何从父类函数访问子类中定义的常量?

    我从 php net 看到这个例子 但 c MY CONST 仅在 5 3
  • Apache 访问 Linux 中的 NTFS 链接文件夹

    在 Debian jessie 中使用 Apache2 PHP 当我想在 Apache 的文档文件夹 var www 中创建一个新的小节时 我只需创建一个指向我的 php 文件所在的外部文件夹的链接 然后只需更改该文件夹的所有者和权限文件夹
  • 如何使用 php 发送服务器错误响应?

    一旦用户点击删除按钮我的 jQuery 脚本要求服务器删除所选项目 现在我想要我的php发送成功或错误响应的脚本 是否有可能触发错误回调万一该项目无法删除 Thanks 我的 jQuery 代码 ajax type post url myA
  • 从 smarty 访问 PHP 文件的变量(本地或全局)

    我有一个 php 文件 其中包含一些本地和全局变量 例如 foo 从此文件中调用 smarty 对象 如何在不更改 PHP 文件的情况下从 smarty 脚本访问 foo Thanks 如果你有一个名为 BASE 的常量变量 并且定义如下
  • 为什么我需要结束 ob_start()?

    php 文档建议我应该用 ob end flush 结束每个 ob start 我在网站的每个页面上使用一个 只是为了允许我在应用程序中的任何位置使用 firephp 日志方法 该应用程序运行良好 但我想知道是否有任何我不知道的东西可能有害
  • 为什么 iconv 在 php:7.4-fpm-alpine docker 中返回空字符串

    给出以下代码
  • MySQL 追加字符串

    How can I append a string to the end of an existing table value Let s say I have the table below And let s say that Mari
  • PHP preg_filter 返回意外的长值

    尝试在 Woocommerce 中删除标签并过滤值 但无法以正确的格式获取它 有东西有腥味 我正在使用WC gt cart gt get cart subtotal 来检索该值 在此示例中 我的值是 2 429kr 原始返回值是 span
  • jQuery Mobile 表单验证

    我有一个移动网站 除了验证之外一切都工作正常 基本上我希望从用户那里获取值 然后在单独的页面 process php 上处理它们 但是 在这样做之前 我需要检查以确保字段已填充 我已经研究了几种方法来做到这一点 但似乎没有一种有效 我现在有
  • 使用 Ajax.Request 将 JSON 从浏览器传递到 PHP 的最佳方法

    您好 我有一个 JSON 对象 它是一个二维数组 我需要使用 Ajax Request 将其传递给 PHP 我知道的唯一方法 现在我使用js函数手动序列化我的数组 并获取以下格式的数据 s 1 d 3 4等 我的问题是 有没有办法更直接 有
  • 表单提交后如何保留选择字段中的选定值?

    我有一个用于将票证上传到数据库的主页 我有一个选择字段 我想保留用户在提交表单之前选择的值 但它没有发生 这是我选择字段的代码
  • php 错误 fopen(): 文件名不能为空

    发送带有附件代码的电子邮件工作正常 最近我们已将文件传输到另一个托管服务器 idk 发生了什么 它显示以下错误 警告 fopen 第 106 行 home hugerecruitmetnt public html validatecva p
  • Doctrine EntityManager 清除嵌套实体中的方法

    我想用学说批量插入处理 http doctrine orm readthedocs org en latest reference batch processing html为了优化大量实体的插入 问题出在 Clear 方法上 它表示此方法
  • 标准化 UTF-8 到底是什么?

    The 重症监护室项目 http userguide icu project org transforms normalization 现在也有一个PHP库 http us php net manual en class normalize
  • 如何在 Laravel 中使用 PUT http 动词提交表单

    我知道这个问题可能已经提出 但我就是无法让它发挥作用 如果有人可以帮助我 我将非常感激 我安装了 colletive form 但答案也可以是 html 表单标签 现在列出我的表格 我的路线和我的例外情况 Form model array
  • Magento - 自定义支付模块

    这是一个非常普遍的问题 但这里是 我正在尝试在 Magento 中创建一个自定义支付模块 我创建了一个 常规 模块 可以连接到 Magento 事件 观察者模型 但是我如何告诉 Magento 将模块视为支付模块 以便它显示在管理后端和结账

随机推荐

  • 生成 3 到 6 之间的随机 int 值

    Microsoft SQL Server 是否可以生成从 Min 到 Max 的随机 int 值 3 9 示例 15 99 等 我知道 我可以从0到Max生成 但是如何增加Min边框呢 该查询生成从 1 到 6 的随机值 需要将其从 3 更
  • 如何对带有连接的 SQL 查询结果应用分页?

    我有一个连接 3 个表的 SQL 查询 其中一个只是连接另外两个表的多对多 我使用 Spring JDBC ResultSetExtractor 将 ResultSet 转换为我的对象 大致如下所示 class Customer priva
  • 如何附加到字符串中的所有网址?

    我应该如何附加到即将作为电子邮件发送的 html 字符串中所有 url 的末尾 我想像这样添加谷歌分析活动跟踪 utm source email utm medium email utm campaign product notify 99
  • elasticsearch中的源过滤、存储字段和文档值之间有什么区别?

    我已经阅读了文档源过滤 https www elastic co guide en elasticsearch reference 6 4 search request source filtering html 存储字段 https ww
  • 多维数组快速排序

    我需要根据第一个子数组中的值尽快对多维数组进行排序 该行被应用了数百万次 以下是我原来的路线 以及我改进其性能的尝试 但没有成功 据我所知 我的numpy方法仅对第一个子数组进行正确排序 而不对其余子数组进行正确排序 我做错了什么以及如何提
  • 在 params 中传递函数时,在导航状态中发现不可序列化的值

    我有两个屏幕 Screen A import React useState from react import Text View Button from react native const ViewA navigation gt con
  • 使用属性公开类似数组的数据结构

    通常将内部数据结构作为属性公开给您的业务类 但是 当我们必须公开类似数组的结构 如 List 规则 时 我们可能会遇到错误使用的问题 如选项 1 中所示 建议将此类数据结构的克隆公开为属性 以便内部结构不会受到干扰 有没有人对此有一个很好的
  • PHP Sql Server PDOException:找不到驱动程序

    我的服务器是Windows 2008服务器 PHP 版本 7 2 7 已安装并正在运行 Sql Server 11 64 位 已安装并正在运行 有几个 asp net 应用程序正在运行并已在使用该数据库 我从 Microsoft 网站下载了
  • 扩展坞显示或隐藏时的事件

    当 Dock 显示或隐藏时如何获取事件 如果扩展坞可见或未使用 Carbon 您会收到通知 我不知道有什么方法可以在可可中做到这一点 我没有测试过这个 它来自代码here http www cocoabuilder com archive
  • 无法在 Odoo 9 中显示选定的图像

    我在加载图像时遇到问题product template表单视图 当我上传新图像时 它正在上传并且displaying correctly in product kanban view 但在product form view它给了我错误无法显
  • 如何获取 WindowTimer 实现对象的“活动计时器列表”

    W3C 规范规定 每个实现 WindowTimers 接口的对象都有一个活动计时器列表 但我从未在任何地方见过如何访问该列表并检查它 这是否意味着它是特定于实现的并且不意味着可访问 或者您可以访问活动计时器列表 检查它以获得最高的 ID 因
  • “new System.Timers.ElapsedEventHandler(DoStuff)”调用不起作用

    我正在尝试在 C 中创建监视文件夹应用程序 该应用程序将在新文件到达时执行操作 由于监视的文件夹位于 GPFS 共享上 我无法使用 FileSystemWatcher 它在 NTFS 中对我来说工作得很好 所以我基于其他同事的应用程序sol
  • 在 Parse Cloud Code 更新 Stripe 模块

    事实证明 Parse Could Code 中的 Stripe 模块已过时且不会更新 Source https developers facebook com bugs 523104684492016 https developers fa
  • Sql Server XML类型列重复条目检测

    在 Sql Server 中 我使用 XML 类型列来存储消息 我不想存储重复的消息 我只会为每个用户发送几条消息 我当前正在查询表中的这些消息 将 XML 转换为 C 代码中的字符串 然后我将这些字符串与我要插入的字符串进行比较 不幸的是
  • Android数据绑定设置alignParentTop

    我有以下布局 仅留下相关部分
  • 是否可以替换系统打开文件对话框?

    我想用我编写的对话框替换标准系统打开文件对话框 这意味着无论您在哪个程序中打开文件 都会显示我的对话框而不是标准对话框 这可能吗 似乎没有提供这样的 API 来完成此操作 是否可以使用一些挂钩技术 但这必须可靠并且不会被防病毒工具视为间谍软
  • 实现另一个协议的协议变量

    我正在尝试做类似的事情 但是 ParentC不符合Parent因为它是children会员不是Child but ChildC 这很奇怪 因为ChildC实施Child 这是 Swift 的限制吗 或者有办法做到这一点吗 我不要求替代解决方
  • Linux正弦波音频发生器[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想在linux下使用我的笔记本电脑作为正弦发生器 但我还没有找到可以发出声音的程序 有人可以告诉我正确
  • asp.net core mvc中Model和ViewModel有什么区别? [复制]

    这个问题在这里已经有答案了 我有一个帐户模型的帐户类 public class Account Key public Int64 UID get set Required public string ID get set Required
  • 调用未定义的方法 Symfony\Component\HttpFoundation\Response::header()

    你好 我正在使用 cors 中间件 它似乎工作正常 直到我添加了 Laravel Passport 现在它出现了问题 它显示了错误 Call to undefined method Symfony Component HttpFoundat