【问题标题】:Laravel is adding forward slashes to all responsesLaravel 正在为所有响应添加正斜杠
【发布时间】:2017-01-20 21:57:20
【问题描述】:

我有一个奇怪的问题。 Laravel 5.2 将 \ 添加到每一个扰乱响应的响应中。 JSON 数据返回为 \{"message": ""} 而不是 {"message": ""} 并查看响应 \<!DOCTYPE html> 这导致 \ 显示在页面上。

我在 PHP 5.6.23(ubuntu 服务器)上使用 laravel 5.2。

感谢任何帮助!

编辑:使用 PHP 5.5.9 的不同服务器上不存在此问题

编辑 2:artisian 命令输出前面带有 \,例如:\Configuration cache cleared!\Route cache cleared! `

【问题讨论】:

  • 您是否有中间件或任何意外回显字符串 '\\' 的东西?
  • @Loek 在任何使用的中间件中都没有'\\'。我已编辑我的问题以添加更多信息。
  • 确保您至少显示 PHP 警告并在您的 php.ini 文件中将 output_buffering 设置为 off 并尝试再次运行您的应用程序。它应该给你一个关于什么文件正在输出文本的提示。
  • 感谢@user3158900 我会这样做,看看发生了什么。

标签: php laravel laravel-5


【解决方案1】:

我敢打赌你不小心在<?php 之前或?> 之后的某个文件中添加了'\' 这在我身上发生了很多次,总是和你一样。运气好的话,您可以在项目中使用 find 并搜索 \<?php?>\

【讨论】:

  • 我更新了我的问题。此问题在不同服务器上的 PHP 5.5.9 上不存在。两台服务器上的代码完全相同。
  • 您如何知道您的代码在两台服务器上完全相同?您如何比较这两个代码库?
  • @toon81 代码是从 git 存储库中获取的。两台服务器的存储库相同。
  • 你没有回答我的问题。
【解决方案2】:

很可能在某个地方,在某个文件或另一个文件中,您可能已经回显/打印了一个“/”,这是我的猜测。

我会从public/index.php 开始并注释掉所有内容,然后从浏览器中点击该文件,但找不到任何输出(希望如此)。

如果没有/,请慢慢取消对 index.php 的注释,直到您看到它再次弹出。

很遗憾,因为它这么普通的字符,所以没有办法search all找到它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-14
    • 2016-06-14
    • 1970-01-01
    • 1970-01-01
    • 2017-06-15
    • 1970-01-01
    相关资源
    最近更新 更多