2011-12-04 27 views
21

Sì, c'è un server Web incorporato nella prossima versione di PHP 5.4 che puoi provare nei loro comunicati di rilascio (l'ho trovato anche recentemente!)Esecuzione di un server Web PHP 5.4 all'esterno di localhost

http://php.net/manual/en/features.commandline.webserver.php

che cosa ho bisogno di aiuto per capire è, esiste un modo per farlo funzionare sui nomi a dominio diversi da localhost (è in esecuzione bene su localhost, porta 80)? Anche 127.0.0.1 non funziona. Ho inserito nomi host fittizi nel mio file hosts per puntare a 127.0.0.1 e non funzionano anche loro. Capisco che sia solo un candidato alla versione, ma vorrei sapere se qualcun altro ha già trovato una soluzione per questo problema in modo da poter testare la mia app con il nome di dominio effettivo che punta a 127.0.0.1 nel mio file hosts. Il sistema operativo è Windows 7 Professional SP1.

cose che ho già provato: 1. Googling (duh) 2. Guardando attraverso php.ini per le opzioni 3. Provare 127.0.0.1, il mio IP LAN, il mio IP della WAN con la porta 80 inoltrato e NAT problema di loopback corretto (router in esecuzione DD-WRT)

+0

Se si tratta di un * server web * di quello che farai meglio con SuperUser o ServerFault, questo sito web sarebbe orientato verso * la programmazione effettiva con PHP *. – animuson

+0

Non sono esattamente sicuro che appartenga, dal momento che questo è qualcosa di costruito in PHP e probabilmente ha qualcosa a che fare con la configurazione di PHP stesso. Grazie comunque per il suggerimento! – Shanshui

+0

Ci ho pensato, e penso che tu abbia ragione. Ho appena segnalato la mia domanda per trasferirla su ServerFault. Speriamo che un moderatore arrivi presto. – Shanshui

risposta

52

Ho eseguito questi test su un sistema Windows XP, ma dovevo funzionare lo stesso anche su Linux modificando i comandi.

eseguire il server di prova PHP in questo modo:

C:/php/php.exe -S 0.0.0.0:80 
or 
/usr/bin/php -S 0.0.0.0:80 

0.0.0.0 si legano a tutti gli indirizzi IP disponibili sul sistema.

Su un'altra macchina sulla rete, ho configurato il file hosts in modo che faccia riferimento all'IP interno del sistema che esegue PHP utilizzando un dominio personalizzato. Questo non è 127.0.0.1 in quanto si riferisce all'host locale, nel mio caso ho puntato il mio PC principale su 192.168.88.247 che era la macchina XP con PHP in esecuzione. Nota che il firewall dovrebbe essere disabilitato o impostato per consentire il traffico sulla porta 80 sulla macchina che esegue php.

Ho configurato il mio router per il port forwarding del traffico dalla porta esterna 80 a 192.168.88.247:80. Quindi, utilizzando un file host su un PC da una rete esterna, ho configurato il dominio falso in modo che punti al mio IP WAN. Sono stato in grado di accedere esternamente al server Web PHP.

Detto questo, è solo un server per i test, quindi potrebbero esserci dei rischi per la sicurezza sconosciuti che lo aprono al mondo esterno.

La speranza che ti aiuta.

+0

Grazie per il suggerimento 0.0.0.0! – Shanshui

+0

Grazie per il suggerimento 0.0.0.0! troppo ... ;-) – ZEE

+0

come fare accettare connessioni solo da host pre-specificati? –

Problemi correlati