VSCode:php-debug setup

时间:2016-09-21 09:29:57

标签: php xampp visual-studio-code

按照here的说明,我陷入了最愚蠢的步骤..

  

制作一个简单的test.php文件,放一个phpinfo();在那里的声明,   然后复制输出并将其粘贴到XDebug安装向导中。

我创建了test.php文件(phpinfo();作为唯一声明),但我无法运行它...

我做了什么:

我已经安装了XAMPP,并在端口8080上启动了Apache。http://localhost: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一无所知,如果这是一个非常愚蠢的问题,那就很抱歉)

2 个答案:

答案 0 :(得分: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-debug x-debug 本身,我会更新任何其他内容。

答案 1 :(得分:1)

在控制台php -iphp -i > phpinfo.txt中运行。 将内容输出或内容phpinfo.txt复制到Xdebug 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。 在选择Listen for Xdebug的gebug面板中。运行调试。

在应用中标记断点。在浏览器中导航并重新加载应用程序。

mysite.local/test.php

的设置

创建文件夹“c:/ [path-to-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