VSCode调试PHP_vscode php 调试-程序员宅基地

技术标签: PHP  

1、安装PHP Debug

2、配置php.ini

[xdebug]
; zend_extension = D:\DEVTOOLS\PHP\php72\ext\php_xdebug-2.7.1-7.2-vc15-x86_64.dll
zend_extension = "D:\DEVTOOLS\PHP\php72\ext\php_xdebug-2.7.2-7.2-vc15-x86_64.dll"
xdebug.auto_trace=on
xdebug.collect_params=on
xdebug.collect_return=on
xdebug.trace_output_dir ="D:\DEVTOOLS\PHP\xdebug_log"
xdebug.profiler_output_dir ="D:\DEVTOOLS\PHP\xdebug_log"
xdebug.profiler_output_name = "cachegrind.out.%t.%p"
xdebug.remote_enable = on
xdebug.remote_handler = dbgp
xdebug.remote_host = localhost
# 设置端口号,默认是9000,此处因为本地环境端口冲突故设置为9001(在vscode配置中需要用到)
xdebug.remote_port = 9001
xdebug.remote_autostart=on
# 这是用于phpstorm中xdebug调试的配置,在vscode中没有用到
xdebug.idekey = phpstorm

 3、配置VSCode

文件->首选项->设置->扩展设置-PHP->右上角{},打开设置json

{
    "editor.fontSize": 16,
    "window.zoomLevel": 1,
    "php.validate.executablePath": "D:/DEVTOOLS/PHP/php72/php.exe",
    "php.validate.enable": false,
    "php.executablePath": "D:/DEVTOOLS/PHP/php72/php.exe",
    "code-runner.runInTerminal": true
}

调试->打开配置,端口9001与php.ini中的设置一致,9000为apache的端口

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [        
        {
            "name": "Listen for XDebug",
            "type": "php",
            "request": "launch",
            "port": 9001
        },
        {
            "name": "Launch currently open script",
            "type": "php",
            "request": "launch",
            "program": "${file}",
            "cwd": "${fileDirname}",
            "port": 9001
        }
    ]
}

4、Apache配置httpd.conf

#httpd.conf
Define SRVROOT "D:/DEVTOOLS/PHP/Apache/Apache24"

ServerRoot "${SRVROOT}"

Listen localhost:9000

LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule allowmethods_module modules/mod_allowmethods.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule dir_module modules/mod_dir.so
LoadModule env_module modules/mod_env.so
LoadModule include_module modules/mod_include.so
LoadModule isapi_module modules/mod_isapi.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
LoadModule negotiation_module modules/mod_negotiation.so
# 开启伪静态
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule ssl_module modules/mod_ssl.so
#apache virtualhost配置 apache配置多个网站
LoadModule vhost_alias_module modules/mod_vhost_alias.so

#php配置
PHPIniDir D:/DEVTOOLS/PHP/php72
LoadModule php7_module D:/DEVTOOLS/PHP/php72/php7apache2_4.dll

<IfModule unixd_module>
User daemon
Group daemon

</IfModule>

ServerName localhost:9000

#
# Deny access to the entirety of your server's filesystem. You must
# explicitly permit access to web content directories in other 
# <Directory> blocks below.
#
<Directory />
    # AllowOverride none
	AllowOverride All 
    Require all denied
</Directory>

<Directory "${SRVROOT}/cgi-bin">
    # AllowOverride None
	AllowOverride All
    Options None
    Require all granted
</Directory>
#httpd-vhosts.conf


Define WEBROOT_TP5 "E:/study/PHP/myproject/tp5/public"
Define WEBROOT_JQUERY "E:/study/JS/JQuery/FL_JQuery"

#修改物理主机hosts文件(C:\Windows\System32\drivers\etc),因为这里是因为物理机去访问Apache服务器
# 127.0.0.1 tp5.com
# 127.0.0.1 jquery.com

# http://tp5.com:9000/
<VirtualHost *:9000>
    DocumentRoot "${WEBROOT_TP5}"
    ServerName tp5.com
	<Directory "${WEBROOT_TP5}">
		Options Indexes FollowSymLinks
		# AllowOverride None
		# 开启伪静态
		AllowOverride All
		Require all granted
	 </Directory>
</VirtualHost>

# http://jquery.com:9000/
<VirtualHost *:9000>
    DocumentRoot "${WEBROOT_JQUERY}"
    ServerName jquery.com
	<Directory "${WEBROOT_JQUERY}">
		Options Indexes FollowSymLinks
		# AllowOverride None
		# 开启伪静态
		AllowOverride All
		Require all granted
	 </Directory>
</VirtualHost>

6、启动Apache下的httpd.exe, 

7、在VSCode中下断点,并启动调试

8、在chrome浏览器中输入http://tp5.com:9000/

9、进入断点调试

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/XinShun/article/details/94836391

智能推荐

QT 在windows安装步骤 两种方法_qt windows安装-程序员宅基地

文章浏览阅读1.1w次。转自:https://www.cnblogs.com/mrcp/archive/2012/11/05/2754524.html折腾了2个小时,参考了网上的资料,终于把QT装好了要让qt能使用,两种套路都可行:1、安装傻瓜包QtSDK,大概1GB多,你要用到的所有东西都在这里面,按照默认的安装,装好后直接打开qt creator就可以用。2、自己组装:(1)下载Qt Creator (qt-crea..._qt windows安装

NLP问答系统:使用 Deepset SQUAD 和 SQuAD v2 度量评估-程序员宅基地

文章浏览阅读885次,点赞28次,收藏29次。在本文中,我们将研究使用 Deepset 的 SQUAD2 模型进行问答以及使用SQuAD v2 指标评估模型,我们将使用 model —deepset/minilm-uncased-squad2。

L298N电机驱动模块的接线使用与代码实现_l298n电机驱动模块接线-程序员宅基地

文章浏览阅读8.2w次,点赞172次,收藏1.4k次。#include "iostm8s208mb.h"#define u8 uint8_t#define u16 uint16_t#define u32 uint32_ttypedef unsigned char uint8_t;typedef unsigned short uint16_t;typedef unsigned long uint32_t;// 关于LED灯的宏定义#define LED2 PI_ODR_ODR2 //输出量#define LE_l298n电机驱动模块接线

腾讯云发布新品数据编排平台(dop)-与大数据生态紧密结合,提供通用数据编排服务...-程序员宅基地

文章浏览阅读1.7k次。作者介绍毛宝龙腾讯高级工程师,Alluxio PMC & Maintainer,Apache Ozone committer,腾讯 Alluxio OTeam 开源协同团队负责人。主要负责腾讯 Alluxio 的研发和落地工作和 Apache Ozone 的文件系统方向的研发工作。DOP(Data Orchestration Platform)是腾讯推出的数据编排平台服务。定位通用数据编..._编排平台

Myeclipse 10.0 + Hibernate 4.3.5 连接 Oracle 11G_ssh hibenate4.3 jpa oracle11-程序员宅基地

文章浏览阅读1k次。今天从下午开始按照J2EE企业应用实战整合Myeclipse 10.0 + Hibernate 4.3.5 连接 Oracle 11G,在网上找了很多资料,到晚上才搞定。有几个地方要特别注意,我在代码中会详细讲解。现在上完整的代码:先按照书里的要求引入%\hibernate-release-4.3.5.Final\lib\required下面所有的jar包。文件1(News_ssh hibenate4.3 jpa oracle11

ubuntu 12.04下MRPT安装_ubuntu中mrpt下载-程序员宅基地

文章浏览阅读357次。Ubuntu12.04 下编译MRPT安装1.下载Linux mrpt 1.0.2源码地址:http://sourceforge.net/projects/mrpt/files/MRPT-all/MRPT-1.0.0/2.安装编译依赖的库sudo apt-get install build-essential pkg-config cmakesudo apt_ubuntu中mrpt下载

随便推点

在Linux上安装QQ_qqlinux版本(2),2024年最新大厂Linux运维高级面试题汇总解答_archlinux 安装 ntqq-程序员宅基地

文章浏览阅读704次,点赞5次,收藏14次。最全的Linux教程,Linux从入门到精通。_archlinux 安装 ntqq

微信小程序分享到朋友圈带参数_showsharemenu 自定义 无效-程序员宅基地

文章浏览阅读2.6k次。微信转发朋友圈功能,目前处于测试阶段,先放个官方文档地址官方文档地址先上代码,这是本人实测可以使用的。onLoad: function(t) { console.log('option', t) wx.showShareMenu({ withShareTicket: true, menus: ["shareAppMessage", "shareTimeline"] }), this.isLogin && this.$store.dispatch(_showsharemenu 自定义 无效

Android组件系列----ContentProvider内容提供者 和 android:authorities-程序员宅基地

文章浏览阅读9k次。authorities 是provider所在的包的名字+provider本身定义的名称 ---zgs 【正文】一、ContentProvider简介:ContentProvider内容提供者(四大组件之一)主要用于在不同的应用程序之间实现数据共享的功能。ContentProvider可以理解为一个Android应用对外开放的接口,只要是符合它所定义的Uri格式的请求,均可以正...

Matlab2019 中文显示问题(乱码与方框)_2019中文文字乱码-程序员宅基地

文章浏览阅读2.8w次,点赞46次,收藏23次。对MATLAB2019b的中文显示问题做出整理,(UI界面和编辑器)原因:中文字体库缺失导致。方法:设置MATLAB的字体为系统已有中文字体主页预设字体桌面代码字体选择 Microsoft YaHei UI同时勾选 “使用系统字体”主页预设字体自定义左边选编辑器,语言选择 Microsoft YaHei UI..._2019中文文字乱码

PopUpWindow使用详解(二)——进阶及答疑_watch_outside_touch-程序员宅基地

文章浏览阅读631次。上篇为大家基本讲述了有关PopupWindow的基本使用,但还有几个相关函数还没有讲述,我们这篇将着重看看这几个函数的用法并结合源码来讲讲具体原因,最后是有关PopupWindow在使用时的疑问,给大家讲解一下。一、常用函数讲解这段将会给大家讲下下面几个函数的意义及用法,使用上篇那个带背景的例子为基础。public void setTouchable(boolean touch..._watch_outside_touch

Oracle诊断工具-RDA_如何读懂oracle rda报告-程序员宅基地

文章浏览阅读991次。Oracle诊断工具-RDA RDA是Remote Diagnostic Agent 的简称,是Oracle用来收集、分析数据库的工具,运行该工具不会改变系统的任何参数,RDA收集的相关数据非常全面,可以简化我们日常监控、分析数据库的工作。_如何读懂oracle rda报告