一般的美工可以做网站吗,网站做相册,营销型网站建设教程视频教程,咨询学校网站开发费用VSCODEPHP8.2配置踩坑记录 – WhiteNights Site
我配置过的最恶心的环境之一#xff1a;windows上的php。另一个是我centos服务器上的php。 进不了断点 端口配置和xdebug的安装 这个应该是最常见的问题了。从网上下载完php并解压到本地#xff0c;打开vscode#xff0c;安装…
VSCODEPHP8.2配置踩坑记录 – WhiteNights Site
我配置过的最恶心的环境之一windows上的php。另一个是我centos服务器上的php。 进不了断点 端口配置和xdebug的安装 这个应该是最常见的问题了。从网上下载完php并解压到本地打开vscode安装php拓展和php serverphp debug这两个调试用的拓展敲下了人生中的第一段php代码
?php
$a12;
$b$a*2;
phpinfo(); //测试用能正常访问说明php环境配置是正常的
?
接下来有几种情况
右键代码选择 reload serverphp server拓展的功能如果能正常打开phpinfo()的页面说明你的php环境配置没问题。 phpinfo
这是比较好的情况未来可期。接下来你可以试着打几个断点先开debug调试再reload server看看能不能命中断点命中的话在vscode的debug界面左边有“变量”“监视”啥的变量那一栏会显示当前变量的值之类的的信息。 写者注 debug需要用vscode打开xxx.php所在的文件夹再选中你要调试的php文件。 如果这一步也没问题说明大功告成。能正常访问phpinfo()能正常debug和命中断点的话接下来就可以开始php之旅了。
但上面也说过这是最好的情况。实际上你可能会碰到以下几种情况。
无法访问phpinfo()打开的页面显示request not found之类的。能访问phpinfo()但是设置了断点后debug键都点烂了还是没法命中断点。右键reload server不会自动打开浏览器界面需要手动输localhost:port才能访问而且访问的界面也是request not foundphp server拓展默认reload server后会自动打开浏览器。如果没打开除了php的问题之外也可能是你改拓展设置的时候不小心点到了…
总之问题有很多导致问题的原因也有很多。这里也只是举出我解决该问题的方法。由于php和xdebug的版本不同该方法可能适用也可能一点用都没有建议自己摸索。 部分解决方法 php 8.2与xdebug 3.3.0alpha2 上面是我的php和xdebug的版本。毕竟版本不同的话解决方法可能不通用。
除此之外在vscode中你还应该安装以下三个拓展
phpphp debugphp server
先来说说xdebug这东西是必须要装的。不装这东西就没法debug调试。安装的话去xdebug官网下记得下载的xdebug版本要和你用的php版本相匹配。
下载完之后可以下载的dll重命名为php.xdebug.dll方便后面的配置。然后扔进php的ext文件夹。接下来开始最重要的第一步xdebug的配置。
打开php文件夹下的php.ini在文件末尾输入
[XDebug]
zend_extensionF:\php\ext\php_xdebug.dll
xdebug.modedebug
xdebug.start_with_requestyes
xdebug.remote_hostlocalhost
xdebug.remote_port9003
xdebug.remote_handlerdbgp
该配置仅能保证你能正常使用debug功能其他的需要自己配置。
接下来开始第二步vscode中debug的配置。在debug界面找到launch.json开始配置端口。 配置文件的格式大致如下其中最重要的是端口的配置。这里的端口需要和你在php.in中为xdebug配置的端口保持一致。
{// 使用 IntelliSense 了解相关属性。// 悬停以查看现有属性的描述。// 欲了解更多信息请访问: https://go.microsoft.com/fwlink/?linkid830387version: 0.2.0,configurations: [{name: Listen for XDebug,type: php,request: launch,port: 9003},{name: Launch currently open script,type: php,request: launch,program: ${file},cwd: ${fileDirname},port: 9003}]}
之后再打断点-启动调试-启动php server应该就不会出现问题了。