PHPstorm 10.0.3 Errore 502 Bad Gateway (A causa di JavaVM?)

Ho installato PHPstorm 10.0.3 Trial e PHP nella mia cartella Apache sulla macchina Windows, tuttavia quando uso l’interprete PHP sto ricevendo l’errore 502 Bad Gateway intorno al 50-90% del tempo.
Quando questa è solo una pagina HTML, funziona al 100% del tempo.

Modifica: Quello che faccio è ‘esegui’ il mio file template.php (o qualsiasi altro) file che poi appare nel browser con url: http: // localhost: 63342 / htdocs / template.php

Ho testato: PHP 7.0.2, PHP 5.3 (ISS), primo thread safe, secondo thread safe disabilitato, stessi risultati. In Webstorm il mio percorso punta a PHP-CGI.exe che era un problema in diversi argomenti.

Solo un accenno a ciò che sta accadendo Sono stato in grado di scoprire facendo clic su: PHPstorm / Aiuto / Mostra Accedi Explorer. Quindi ogni volta che ottengo l’errore 502 qualcosa su queste righe viene fuori:

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 sta cambiando da record a record.

Stai utilizzando il web server integrato di PhpStorm, che ha alcuni problemi al momento (specialmente con le richieste POST, ad esempio WEB-17317 ).

La soluzione è utilizzare il proprio server web (Apache / IIS / nginx / qualunque).

  1. Definire la voce di distribuzione. In place tipo di In place dovrebbe andare bene, purché Apache / IIS possa servire i file da quella posizione; altrimenti configurate il web server per farlo .. o usate un altro tipo di distribuzione (es. Local or Mounted Folders per IDE per copiare i file in un’altra posizione per voi)
  2. Configuralo (fornisci l’URL desiderato ecc.)
  3. Contrassegnalo come predefinito per questo progetto

Ora IDE userà quell’URL di base quando userai Open in Browser o le azioni Run / Debug (NOTA: non influenzerà nessuna configurazione Run / Debug esistente – solo quelle future, dovrai aggiornare manualmente le tue Run / Debug Configurations correnti ).

Questo è ciò che ha funzionato per me.

Ho aperto il pannello di controllo XAMPP v3.2.2, sono entrato in Apache-> Config-> httpd.conf e ho cambiato il codice seguente

Ascolta 12.34.56.78:80

Ascolta 80

a

Ascolta 12.34.56.78:8080

Ascolta 8080

Inoltre, ServerName localhost: 80

a ServerName localhost: 8080

salvato il file httpd.conf e poi avviato l’apache sotto l’azione dalla schermata principale di XAMPP Control Panel v3.2.2 e ha avviato l’apache.

Successivamente ho aperto il browser e MANUALMENTE ho digitato l’indirizzo per esempio:

Se l’indirizzo precedente era: http: // localhost: 63342 / htdocs / template.php (nessuno spazio tra parentesi)

il nuovo sarebbe: http: // localhost: 8080 / template.php (senza spazio tra parentesi)

Dovrebbe funzionare bene. Aggiorna la pagina e non dovresti ricevere l’errore 502 di Bad Gateway.

Ricorda: se esegui l’applicazione in un secondo momento, è ansible tornare alla posizione precedente. È sufficiente utilizzare la nuova posizione sulla barra degli indirizzi che sarebbe (in questo caso) http: // localhost: 8080 / template.php. (nessuno spazio tra di loro) Nel tuo caso: http: // localhost: 8080 / yourfilename.php (senza spazio tra parentesi)