PHPstorm 10.0.3错误502错误的网关(由于JavaVM?)

时间:2016-01-14 09:30:59

标签: phpstorm

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

编辑: 我所做的是“运行”我的template.php(或任何其他)文件,然后在浏览器中显示url: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正在从记录变为记录。

2 个答案:

答案 0 :(得分:6)

您正在使用PhpStorm自带的内置Web服务器,该服务器现在有一些问题(特别是对于POST请求,例如WEB-17317)。

解决方案是使用您自己的Web服务器(Apache / IIS / nginx /等等)。

  1. 定义部署条目。 In place类型应该没问题,只要您的Apache / IIS可以从该位置提供文件;否则要么配置Web服务器才能这样做..或者使用其他类型的部署(例如,Local or Mounted Folders用于IDE将文件复制到另一个位置)
  2. 配置它(提供所需的URL等)
  3. 将此项目标记为默认
  4. 现在,当您使用Open in Browser或运行/调试操作时,IDE将使用该基本URL(注意:它不会影响任何现有的运行/调试配置 - 只有未来的;您必须更新当前手动运行/调试配置。

答案 1 :(得分:1)

这对我有用。

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

听取12.34.56.78:80

听80

收听12.34.56.78:8080

听8080

另外, ServerName localhost:80

要 ServerName 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(中间没有空格)