2016-05-03 35 views
0

調試我有一個運行使用下面的命令「drush的runserver」虛擬主機,並與127.0.0.1:8888

當我運行此命令Drupal的應用程序,我得到以下信息:「HTTP服務器偵聽127.0。 0.1,端口8888(請參閱http://127.0.0.1:8888/)「

如果我訪問該網址,我看到我應該看到的應用程序,所以這很好。

但是,我想創建一個虛擬主機到這個URL以及做一些調試應用程序。

我已經創建了很多次之前的虛擬主機,但永遠不會生活在另一個端口上的應用程序。做了一些谷歌搜索後,我已經把我的httpd-vhosts.conf文件如下:

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> 

我還放在我的/ etc/hosts文件如下。

127.0.0.1 myproject.dev www.myproject.dev

即使重新啓動我的服務器,如果我在瀏覽器窗口訪問myproject.dev後,瀏覽器只是掛起。就像我說過的,我從來沒有遇到過這樣的問題,但我猜測它與8888有關。任何解決方案?其次,我試圖在PHPStorm中爲我的應用程序設置調試。再次,我有一種感覺,我有這麼多麻煩的原因是因爲8888端口。當我正常調試時(端口80),我一定會錯過通常不需要設置的東西。

下面是我的php.ini文件我目前的XDebug設置:

[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 

而且我要指出,我的調試器適用於任何隨機PHP文件我做項目之外。再次,我必須錯過這個8888端口。

回答

0

你正在處理三件不同的事情。首先是內置的PHP Web服務器,與Drush輪換。它會偵聽端口8888,除非您在命令行中指定不同。其次是Apache和虛擬主機配置。您可以讓虛擬主機在端口80上進行偵聽。端口由服務器而不是應用程序選擇。您可以在端口16421上運行服務器,您的應用程序將工作得很好。第三是你的xdebug配置。

我看到的唯一真正的問題是你的xdebug配置。您只需要遠程主機IP /主機名而不是附加端口。您添加的端口是PHP內置的Web服務器使用的端口。 Xdebug運行在xdebug config xdebug.remote_port設置中定義的不同端口上。 PHPStorm將被配置爲連接到特定端口上的xdebug,。確保PHPStorm和xdebug配置中的端口匹配。

如果您配置正確,如果您使用的是內置Web服務器或Apache,則無關緊要,您將能夠進行調試。