用VSCode调试PHP
1、下载安装PHP
Windows版PHP下载地址:https://windows.php.net/download/
注意页面左上角的提示:
If you are using PHP as FastCGI with IIS you should use the
Non-Thread Safe (NTS) versions of PHP.
旧版下载地址(2020-02-23):
https://windows.php.net/downloads/releases/archives/php-5.6.40-nts-Win32-VC11-x86.zip
解压到 D:\DevTools\php-5.6.38-nts-Win32-VC11-x64
为了后续方便,将这个目录添加到系统的PATH环境变量中(见3)。
2、设置 php.ini
复制一份php.ini-development,改名为php.ini,调整配置参数:
error_log = "D:\DevTools\php-5.6.38-nts-Win32-VC11-x64\log\php_errors.log"
extension_dir = "D:\DevTools\php-5.6.38-nts-Win32-VC11-x64\ext\"
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
date.timezone = Asia/Shanghai
; 注意:该目录需要EveryOne权限或IIS_XXX用户的写入权限,否则Session无效
session.save_path = "D:\DevTools\php-5.6.38-nts-Win32-VC11-x64\temp"
; 如果需要调试,则启用这一段(xdebug对性能影响极大)
; xdebug 插件下载地址:https://xdebug.org/download
[xdebug]
zend_extension = "D:\DevTools\php-5.6.38-nts-Win32-VC11-x64\ext\php_xdebug-2.5.5-5.6-vc11-nts-x86_64.dll"
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_port = 9000
xdebug.remote_host = 127.0.0.1
3、用VSCode调试PHP
a) 用VSCode打开php文件所在的文件夹(打开单个php文件是不行的)
b) 安装插件 “PHP Debug”
c) 切换到“调试和运行”选项卡,点击“创建launch.json文件”,注意选择PHP
d) 此时即可设置断点开始调试(按F5或点击“开始调试”按钮)
Listen for XDebug:等待刷新页面后进入断点(可以执行php -S localhost:80启动PHP内置服务器做测试之用)
Launch currently open script:直接运行当前php脚本并进入断点
可能出现的错误0:
缺少VC++的dll文件,安装对应版本的vcredist。
可能出现的错误1:
控制台输出:Error: spawn php ENOENT
同时弹出:请使用设置 "php.validate.executablePath" 配置 PHP 可执行文件。
设置了"php.validate.executablePath": "D:/DevTools/php-5.6.38-nts-Win32-VC11-x64/php.exe",仍无效。
解决方法:将PHP目录添加到系统的PATH环境变量中。