2016-05-03 15 views
0

habe ich eine Drupal-Anwendung, die den folgenden Befehl läuft mit „drush runserver“Vhost und Debugging mit 127.0.0.1:8888

Wenn ich diesen Befehl ausführen, bekomme ich die folgende Meldung: „HTTP-Server auf 127,0 hören. 0.1, port 8888 (siehe http://127.0.0.1:8888/) "

Wenn ich diese URL besuche, sehe ich die Anwendung, die ich sehen soll, also ist das gut.

Allerdings versuche ich, einen vhost zu dieser URL sowie einige Debugging auf der Anwendung zu erstellen.

Ich habe vhosts schon oft erstellt, aber nie für eine Anwendung, die auf einem anderen Port lebt.

NameVirtualHost *:8888 

<VirtualHost *:8888> 
    DocumentRoot "/Users/justin/Sites/drupal/" 
    ServerName myproject.dev 
    ServerAlias www.myproject.dev 
    ErrorLog "/private/var/log/apache2/myproject.dev-error_log" 
    CustomLog "/private/var/log/apache2/myproject.dev-access_log" common 
</VirtualHost> 

Ich legte in meiner/etc/hosts-Datei die folgende haben auch: einige Google-Suchen nach tun, habe ich folgendes in meine httpd-vhosts.conf-Datei abgelegt.

127.0.0.1 myproject.dev www.myproject.dev

Und auch nach meinem Server neu zu starten, wenn ich myproject.dev in meinem Browserfenster besuchen, der Browser hängt gerade. Wie ich schon sagte, hatte ich noch nie Probleme damit, aber ich vermute, dass es etwas mit dem 8888 zu tun hat. Irgendwelche Lösungen dafür?

Zweitens versuche ich, Debugging für meine Anwendung in PHPSstorm einzurichten. Wieder habe ich das Gefühl, der Grund, warum ich so viel Mühe habe, ist wegen des 8888 Ports. Ich muss etwas vermissen, das ich normalerweise nicht einstellen muss, wenn ich normalerweise debugge (Port 80).

Hier sind meine aktuellen xdebug Einstellungen in meiner php.ini:

[xdebug] 
zend_extension="/usr/local/Cellar/php55-xdebug/2.4.0/xdebug.so" 
xdebug.default_enable=1 
xdebug.remote_enable=1 
xdebug.remote_handler=dbgp 
xdebug.remote_host="127.0.0.1:8888" 
xdebug.remote_port=9001 
xdebug.remote_autostart=1 
xdebug.idekey="phpstorm" 
xdebug.max_nesting_level=1000 

Und ich sollte erwähnen, dass mein Debugger mit jeder beliebigen PHP-Datei arbeitet ich außerhalb des Projekts zu machen. Auch hier muss ich etwas mit diesem 8888 Port vermissen.

Antwort

0

Sie haben es hier mit drei verschiedenen Dingen zu tun. Der erste ist der eingebaute PHP-Webserver, der mit Drush läuft. Es überwacht Port 8888, sofern Sie nicht anders in der Befehlszeile angeben. Zweitens ist Apache und eine Vhost-Konfiguration. Sie können den vhost an Port 80 belassen lassen. Der Port wird vom Server und nicht von der Anwendung ausgewählt. Sie können den Server auf Port 16421 ausführen und Ihre App wird problemlos funktionieren. Drittens ist Ihre xdebug-Konfiguration.

Das einzige wirkliche Problem, das ich sehe, ist Ihre xdebug-Konfiguration. Sie benötigen nur den Remote-Host-IP/Hostnamen und nicht den zusätzlichen Port. Der Port, den Sie dort hinzugefügt haben, ist der Port, der von PHPs integriertem Webserver verwendet wird. Xdebug wird auf einem anderen Port ausgeführt, der in der Einstellung xdebug config xdebug.remote_port definiert ist. PHPStorm wird für die Verbindung mit xdebug an diesem bestimmten Port konfiguriert. Stellen Sie sicher, dass die Ports in PHPStorm und Ihre xdebug-Konfiguration übereinstimmen.

Wenn Sie es richtig konfiguriert haben, ist es egal, ob Sie den integrierten Webserver oder Apache verwenden, können Sie debuggen.