【问题标题】:PHPstorm 10.0.3 Error 502 Bad Gateway (Due to JavaVM?)PHPstorm 10.0.3 错误 502 网关错误(由于 JavaVM?)
【发布时间】:2016-04-19 13:29:24
【问题描述】:

我已经在 Windows 机器上的 Apache 文件夹中安装了 PHPstorm 10.0.3 Trial 和 PHP,但是当我使用 PHP 解释器时,大约 50-90% 的时间会出现错误 502 Bad Gateway。
当这只是 HTML 页面时,它可以 100% 工作。

编辑: 我所做的是“运行”我的 template.php(或任何其他)文件,然后该文件会出现在浏览器中,网址为:http://localhost:63342/htdocs/template.php

我已经测试过: PHP 7.0.2,PHP 5.3(ISS),第一个线程安全,第二个线程安全禁用,结果相同。在 Webstorm 中,我的路径指向 PHP-CGI.exe,这是不同主题的问题。

只有提示我能够通过单击找到正在发生的事情:PHPstorm/Help/Show Log in Explorer。因此,每当我收到错误 502 时,就会出现以下问题:

2016-01-14 09:57:21,510 [1084784]  ERROR - ins.io.ChannelExceptionHandler - PhpStorm 10.0.3  Build #PS-143.1770 
2016-01-14 09:57:21,510 [1084784]  ERROR - ins.io.ChannelExceptionHandler - JDK: 1.8.0_51 
2016-01-14 09:57:21,510 [1084784]  ERROR - ins.io.ChannelExceptionHandler - VM: Java HotSpot(TM) Server VM 
2016-01-14 09:57:21,510 [1084784]  ERROR - ins.io.ChannelExceptionHandler - Vendor: Oracle Corporation 
2016-01-14 09:57:21,510 [1084784]  ERROR - ins.io.ChannelExceptionHandler - OS: Windows 7 
2016-01-14 09:57:21,511 [1084785]   INFO - ins.io.ChannelExceptionHandler - Channel will be closed due to error 
2016-01-14 09:57:24,273 [1087547]  ERROR - ins.io.ChannelExceptionHandler - minimumReadableBytes: -2815 (expected: >= 0) 
java.lang.IllegalArgumentException: minimumReadableBytes: -2815 (expected: >= 0)
    at io.netty.buffer.AbstractByteBuf.checkReadableBytes(AbstractByteBuf.java:1143)
    at io.netty.buffer.AbstractByteBuf.skipBytes(AbstractByteBuf.java:731)
    at org.jetbrains.io.Decoder.getBufferIfSufficient(Decoder.java:131)
    at org.jetbrains.io.fastCgi.FastCgiDecoder.messageReceived(FastCgiDecoder.kt:56)
    at org.jetbrains.io.Decoder.channelRead(Decoder.java:38)
    at io.netty.channel.ChannelHandlerInvokerUtil.invokeChannelReadNow(ChannelHandlerInvokerUtil.java:83)
    at io.netty.channel.DefaultChannelHandlerInvoker.invokeChannelRead(DefaultChannelHandlerInvoker.java:163)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:155)
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:950)
    at io.netty.channel.oio.AbstractOioByteChannel.doRead(AbstractOioByteChannel.java:166)
    at io.netty.channel.oio.AbstractOioChannel$1.run(AbstractOioChannel.java:38)
    at io.netty.channel.ThreadPerChannelEventLoop.run(ThreadPerChannelEventLoop.java:52)
    at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:742)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
    at org.jetbrains.ide.PooledThreadExecutor$1$1.run(PooledThreadExecutor.java:55)

minimumReadableBytes 因记录而异。

【问题讨论】:

  • 你如何使用它(你的 PHP 解释器)? WebStorm 与 PHP 有什么关系?请截图——一点都不清楚。
  • 对不起,我现在已经修复了,它的 PhpStorm。另外任何php文件都会触发错误,甚至不需要包含任何PHP代码。
  • 您解决了这个问题?伟大的。这与是否存在 PHP 代码无关——我的问题是关于“遇到这样的问题你会怎么做”。如果它在您运行 CLI 脚本时发生——您是如何做到的?如果您在浏览器中执行某些操作——您如何执行此操作,URL 等是什么?您的问题中根本没有关于此的信息.. 只是通用(并且非常有用 - 双关语)“它不起作用”。
  • 不,我没有。我的意思是我将 WebStorm 描述更改为 PHP Storm。现在我已经编辑了我的问题以添加您要求的详细信息。基本上要重现我得到的内容是简单地通过应用程序运行任何 PHP 文件,并且大部分时间我都会遇到上述错误。如果您认为有什么我可以更准确地告诉我,我是寻求帮助的人。
  • 您正在使用 PhpStorm 自己的内置 Web 服务器,该服务器现在存在问题(尤其是 POST 请求)。解决方案是使用您自己的适当 Web 服务器(Apache/IIS/nginx/whatever)——只需定义部署条目(“就地”类型应该没问题,只要您的 Apache/IIS 可以从该位置提供文件),配置它(提供所需的 URL)并标记为该项目的默认值——现在 IDE 将在您选择运行或调试时使用该 URL(但它不会影响任何现有的运行/调试配置——仅影响未来的配置;当前配置您必须手动更新)

标签: phpstorm


【解决方案1】:

您正在使用 PhpStorm 自己的内置网络服务器,该服务器目前存在一些问题(尤其是 POST 请求,例如WEB-17317)。

解决方案是使用您自己的适当网络服务器(Apache/IIS/nginx/whatever)。

  1. 定义部署条目。 In place 类型应该没问题,只要您的 Apache/IIS 可以从该位置提供文件;否则,要么配置 Web 服务器以使其能够做到这一点.. 要么使用其他类型的部署(例如,Local or Mounted Folders 让 IDE 为您将文件复制到另一个位置)
  2. 配置它(提供所需的 URL 等)
  3. 将此项目标记为默认值

现在 IDE 将在您使用 Open in Browser 或运行/调试操作时使用该基本 URL(注意:它不会影响任何现有的运行/调试配置 - 只会影响未来的配置;您必须更新当前的运行/手动调试配置)。

【讨论】:

    【解决方案2】:

    这对我有用。

    我打开XAMPP控制面板v3.2.2,进入Apache->Config->httpd.conf 并更改了以下代码

    听 12.34.56.78:80

    听 80

    听 12.34.56.78:8080

    听 8080

    另外, 服务器名称 localhost:80

    到 服务器名称 localhost:8080

    保存文件 httpd.conf 然后从 XAMPP 控制面板 v3.2.2 的主屏幕启动 apache 下面的操作,它启动了 apache。

    之后我打开浏览器并手动输入地址 例如:

    如果之前的地址是:http:// localhost:63342/htdocs/template.php(中间没有空格)

    新的将是:http:// localhost:8080/template.php(中间没有空格)

    它应该运行得很好。刷新页面,您应该不会收到 502 Bad Gateway 错误。

    记住:如果您稍后运行您的应用程序,它可能会回到以前的位置,您需要做的就是使用地址栏上的新位置(在这种情况下) http:// 本地主机:8080/template.php。 (中间没有空格) 在你的情况下: http:// localhost:8080/yourfilename.php(中间没有空格)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-07
      • 2022-01-07
      • 2021-07-21
      • 2011-05-14
      相关资源
      最近更新 更多