2016-09-21 103 views
2

依照指示操作,here,和我停留在最愚蠢的步驟..VSCode:PHP調試安裝

做一個簡單的test.php的文件,把phpinfo()函數;語句, 然後複製輸出並將其粘貼到XDebug安裝嚮導中。

我已經創建了該test.php的文件(phpinfo();作爲唯一的語句),但我不能運行......

我做了什麼:

我已經安裝XAMPP,並開始阿帕奇在8080端口上​​得到我的XAMPP儀表盤,所以我知道這是確定

我在settings.json有"php.validate.executablePath": "C:/xampp/php/php.exe"

我有一個tasks.json生成任務如下

{ 
"version": "0.1.0", 
"command": "php", 
"args": [ 
    "-S", "127.0.0.1:8080", 
    "-t", "${workspaceRoot}" 
] 
} 

但是當我嘗試運行它,我得到一個錯誤

Failed to launch external program php -S 127.0.0.1:8080 -t ${workspaceRoot}. 
spawn php ENOENT 

是我的整個方法(從各種指南收集在網絡上)不知何故錯誤,或我錯過了什麼? (我是一個20多年的MS開發人員,但我知道零關於PHP,所以很抱歉,如果這是一個非常愚蠢的問題)

回答

1

好吧,所以我管理了一個解決方法,至少顯示test.php文件。

按照說明here,但有多個網站,我發現工作的唯一方法是使用單獨的端口。所以我加入到C:\xampp\apache\conf\extra\httpd-vhosts.conf

<VirtualHost *:8080> 
    DocumentRoot "C:/xampp/htdocs/" 
    ServerName localhost:8080 
</VirtualHost> 


<VirtualHost *:8081> 
    DocumentRoot "C:/mydir/myrootfolder/" 
    ServerName localhost:8081 
</VirtualHost> 

C:\xampp\apache\conf\httpd.conf,我加

<Directory /> 
    AllowOverride none 
    Require all granted 
</Directory> 

Listen 8080 
Listen 8081 

test.php文件被修訂爲:

<?php 
    phpinfo(); 
?> 

然後我可以導航到http://localhost:8081/test.php並查看輸出!

我希望這可以幫助別人,至少在這個過程的這個階段。我會更新,如果有什麼額外的實際設置php-debugx調試本身。

1

在控制檯php -iphp -i > phpinfo.txt中運行。 複製內容輸出或內容phpinfo.txtXdebug Wizard

從此頁下載.dll文件。並遵照指示。 加入php.ini,例如

[XDebug] 
zend_extension = C:\xampp\php\ext\php_xdebug-2.4.1-5.6-vc11.dll 
xdebug.remote_enable=1 
xdebug.remote_host=127.0.0.1 
xdebug.remote_port=9000 
xdebug.remote_autostart=on 
xdebug.remote_handler=dbgp 
xdebug.profiler_enable=1 
xdebug.profiler_output_dir="C:\xampp\tmp" 
xdebug.remote_log ="C:\xampp\tmp\xdebug.log" 

重新啓動Apache服務器。在phpinfo()中的瀏覽器中,您可以看到帶有Xdebug設置的部分。 否則你錯了。 在帶有齒輪的gebug面板中的Visual Studio代碼中,選擇php

創建launch.json。 在選定的gebug面板中選擇Listen for Xdebug。運行調試。

在應用程序中標記斷點。在瀏覽器中導航並重新加載應用。

設置爲mysite.local/test.php

創建文件夾的 「C:/ [路徑到XAMPP] /htdocs/mysite.local」 在該文件夾中創建文件test.php

<?php 
    phpinfo(); 
?> 

創建新的虛擬主機

<VirtualHost *:80> 
ServerName mysite.local 
DocumentRoot "c:/[path-to-xampp]/htdocs/mysite.local" 
<Directory /> 
    Options Indexes FollowSymLinks Includes ExecCGI 
    AllowOverride All 
    Require all granted 
    Allow from all 
</Directory> 
</VirtualHost> 

在文件中添加C:/windows/system32/drivers/etc/hosts

127.0.0.1 mysite.local 

重新啓動您的apache服務器。 在瀏覽器中導航您的應用程序:http://mysite.local

+0

我將在稍後添加 - 因爲我已經完成了此過程(失敗) - 但是,只是爲了確保我提供正確的信息...如果我遵循虛擬主機/ hosts指令,應該從瀏覽器訪問網站的網址是什麼?在我的例子中爲 – kpollock

+0

:http://mysite.local – eustatos