【问题标题】:PHP local server Invalid request (Unexpected EOF)PHP本地服务器无效请求(意外的EOF)
【发布时间】:2015-05-22 08:52:12
【问题描述】:

在每次执行后,无论是否执行 - 当使用 Chrome 网络浏览器时,PHP 本地服务器都会抛出此错误:

无效请求(意外的 EOF)\n

它不会引起任何明显的问题;但是,由于这是一个持续存在的问题,所以我想知道以后是否有什么东西会咬我。

有什么想法吗?

注意:它发生在任何页面执行后大约 10 秒。

进一步说明:这发生在所有执行之后,即使文件 正确结束:

<?php echo 'hey'; ?> 

仍然会抛出上述错误。

[2015 年 3 月 19 日星期四 09:39:55] 127.0.0.1:53923 [200]: /admin [Thu Mar 19 09:40:05 2015] 127.0.0.1:53924 无效请求(意外 EOF)

这是完整的错误。

【问题讨论】:

  • 它是否在错误中给出了行号?如果是这样,请在它之前发布前 1 行?
  • 我在帖子末尾添加了成功执行(第一行)后显示的完整错误(第二行)。
  • 什么版本的 PHP?似乎与此错误有关 -> bugs.php.net/bug.php?id=60471 将您的 PHP 升级到较新的版本。
  • 与 OP 讨论后,似乎是 Chrome 扩展程序引发了错误,因为所有扩展程序都被禁用(隐身)它不会引发错误 - 不完全确定为什么会这样。跨度>
  • 它也在 FF 中发生。

标签: php


【解决方案1】:

这可能与 Chrome 及其网络预测功能有关。因此,请先尝试禁用该功能。这就是它在隐身模式下工作的原因,因为它可能在该模式下被禁用。

您可以在 Chrome 设置中找到此选项,然后点击“显示高级设置”。应该在隐私部分。

【讨论】:

  • 我在哪里可以找到这个配置?
  • @Jackhardcastle 更新信息。
  • 不幸的是错误仍然产生,这很奇怪 - 执行和终端显示错误之间有 17 秒的延迟哈哈
  • 你可以尝试通过sudo tcpdump -i lo -nl -w- port 80 | strings 嗅探,看看这个错误的请求到底是什么。
  • @Jackhardcastle 或者尝试重新启动网络浏览器,可能选项选项在重新启动时被禁用。或者尝试类似的选项,例如“启用网络钓鱼和恶意软件防护。”或“使用网络服务来帮助解决导航错误。”只是暂时的,以确保它不是发出一些奇怪请求的其他功能之一。跨度>
【解决方案2】:

我在 index.html 中看到了这种行为

<script src="main.js"></script>

替换为

<script src="main.js" />

(而不是关闭 &lt;/script&gt; 标记,而是使用它的短版本 /&gt;)。

【讨论】:

    【解决方案3】:

    我最近在使用 Firefox 和 Chrome 时才开始遇到这种现象。 我不能确认也不能否认浏览器插件有任何问题。 由于我没有在我的开发环境中进行任何更改,我开始寻找其他可能性。 原来它是我的防病毒程序新版本的实时扫描引擎。 一旦我排除了我的项目构建文件夹,扫描突然出现 eof 的问题的 php 安装文件夹和 php.exe 立即消失了。 也许这对你们中的一些人有帮助。

    【讨论】:

      【解决方案4】:

      这是一个已知的错误。

      来自https://bugs.php.net/bug.php?id=60471

      [2011-12-08 15:01 UTC] gmail dot com 的 lolautruche 描述:
      ------------
      有时,带有路由器脚本的内置服务器会记录此类内容:

      [Thu Dec 8 13:39:29 2011] 127.0.0.1:50358 无效请求(意外 EOF)

      无论脚本有关闭标记还是 不,不管它在结束标记后有没有空行。

      以及解释:

      [2012-02-23 18:45 UTC] michal dot pipa dot xsolve at gmail dot com
      ...
      Chromium 具有名为“预测网络操作以改进页面”的功能 加载性能”并默认启用。它以这种方式工作,即 如果 HTML 页面包含指向某些资源的链接,则 Chromium 会打开大约 提前 10 个 TCP 连接。然后如果浏览器少于 10 要获取的资源,未使用的连接会在 10 秒后超时。 而这个(空有效负载)会导致 PHP 服务器显示“无效请求 (意外的 EOF)”消息。

      这是来自 PHP 内置服务器的无害错误。

      【讨论】:

      • Chrome Incognito 不会产生问题。 +1
      【解决方案5】:

      在 Laravel 4.2 上,我在使用命令清除缓存时解决了这个问题: php artisan cache:clear


      完整的命令列表可通过以下方式获得:php artisan list

      【讨论】:

      • 在 Laravel 5.4 上它没有解决这个问题。但无论如何,谢谢。
      【解决方案6】:

      我确认@user194714 的建议确实是一个原因(也许不是唯一的原因)。我正在使用 WordPress 4.7.1 并更改 wp-admin/about.php @ line 55 解决了这个问题。更重要的是,经过这个简单的更改后,页面加载速度更快。我会让 WordPress 维护者知道。

      【讨论】:

        【解决方案7】:

        就我而言,我使用的是 laravel 5.1 + AngularJs,并且我已经删除了路由:

        **Route::get('/', function () {
            return view('app');
        });**
        

        我把它放回去了,现在它可以正常工作了。

        【讨论】:

          【解决方案8】:

          在 Laravel 上,我意识到这个帖子已经有一段时间没有活跃了,但我找到了一个与其他人发布的内容完全无关的解决方案。所以我意识到我遇到了这个错误,因为我没有为我的应用程序设置应用程序密钥。您可以在this other Stack Overflow question 中找到有关应用程序密钥的更多信息。在尝试生成应用程序密钥之前,请确保您已在应用程序的根目录中运行以下命令。

          composer install
          

          根据我的阅读,当您通过以下方式创建新应用程序时

          laravel new application
          

          命令,默认情况下你应该有一个名为.env 的文件。这不是我的情况,我不得不手动将.env.example 文件重命名为.env。 完成上述两个步骤后,在应用程序的根目录中运行此命令

          php artisan key:generate
          

          这为我解决了 OP 的错误。希望它可以帮助将来的人。

          【讨论】:

            【解决方案9】:

            这是 PHP 的错误。它已在 PHP 7.2 上修复

            【讨论】:

            【解决方案10】:

            在端口 9000 上运行 PHP 时出现此错误;改成8000后错误消失了。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2017-09-23
              • 2014-01-01
              • 1970-01-01
              • 2023-02-24
              • 1970-01-01
              • 1970-01-01
              • 2023-04-07
              • 1970-01-01
              相关资源
              最近更新 更多