2017-09-12 1 views
2

ich zu einfach PHP-Anwendung, die ich wante die laufen durch integrierte PHP-Server und lebt in meiner VM in meinem Windows-Rechner:Ich kann nicht php erreichen eingebauten Server auf einer VM laufen

<?php 
use \Psr\Http\Message\ServerRequestInterface as Request; 
use \Psr\Http\Message\ResponseInterface as Response; 

require '../vendor/autoload.php'; 

$app = new \Slim\App(); 

$app->get('/', function (Request $req, Response $res, $arg = []) { 
    return 'hello world!!'; 
}); 

$app->run(); 

Meine Projektstruktur

tree -I vendor 
. 
|-- cache 
| `-- 6a 
|  `-- 532bg9987gt23f4356546poo999vvb234234.php 
|-- composer.json 
|-- composer.lock 
|-- public 
| `-- js 
|  `-- app.js 
|-- routes 
| `-- web.php 
`-- views 
    `-- templates 
     `-- index.html 

7 directories, 7 files 

Wenn ich curl aus meiner VM laufen funktioniert es offensichtlich:

php -S localhost:9899& 
curl localhost:9899/routes/web.php 

Hello world!! 

Das Problem ist, wenn ich versuche, erhalten auf diesen Server aus meinem Browser (Windows-Rechner) Ich

diese
This site can’t be reached 

Obwohl funktioniert nicht für meine PHP integrierten Server zu verbinden, ist es perfekt für zwei weitere Projekte arbeitet entwickelt mit , die auf der gleichen VM wie die sind.

Warum bin ich nicht in der Lage, den integrierten PHP-Server zu erreichen, vor allem, dass integrierten Server zugänglich sind?

Antwort

4

Sie binden Ihren Server an localhost. Es hört nur auf der localhost Netzwerkschnittstelle. Außerhalb dieser Maschine ist kein Zugriff möglich.

Sagen Sie ihm stattdessen, dass er auf Ihre extern gerichtete IP-Adresse hören soll.

Alternativ sagen es auf alle Netzwerk-Schnittstellen zu hören:

php -S 0.0.0.0:9889 
+0

Ich habe ganz vergessen, dass man !! thxxx – smarber

Verwandte Themen