按照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一无所知,如果这是一个非常愚蠢的问题,那就很抱歉)
答案 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 -i
或php -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