Visual Studio Code调试PHP

8
本人微信公众号:前端修炼之路,欢迎关注。

php

这两天有点时间,花时间学习了一下PHP基础语法和语句。因为个人比较喜欢Visual Studio Code这款编辑器,所以学习我主要记录一下使用VSCode学习PHP的遇到的一些问题。其中最主要的就是怎样使用VSCode调试PHP代码。

语法检查和格式化

为了更加规范的学习PHP,我决定使用一个插件。如果在VSCode中搜索php format插件,会有三个排名最靠上的插件。我尝试了半天,其中PHP Intephense这个插件最好用。这个插件的评价是五星坪的,很容易跟另外的一个PHP IntelliSense弄混淆了。PHP IntelliSense这个插件的评价是三星,另外就是如果需要代码格式化的话,还得组合使用 PHP CS Fixer,我配置了半天比较麻烦。而且不知道为何,一直无法格式化。

所以强烈推荐直接安装PHP Intelephense。只要安装了这个插件,代码提示、语法检查、格式化就都有了。

phpStudy

为了更愉快的学习PHP,需要一套后台集成环境,我这里选择的是PHP Study,光听名字,我就知道适合自己了。:)

软件的安装和使用,就不记录了。比较方便的是,PHP Study集成了ApacheNginxIIS服务器,并且集成了php5php7,非常的适合开发和学习。

PHP Debug

VSCode中搜索插件PHP Debug,将这个插件安装到VSCode中。从这个插件的文档中,可以发现Installation,也就是说安装的说明。因为不会PHP,再加上英语水平不是特别好,所以这个文档看了好久,才弄明白。特此记录一下。

  • 安装XDebug。先不要直接下载XDebug,文档中有一行特别加粗的说明,一定要操作一下的。
I highly recommend you make a simple test.php file, put a phpinfo(); statement in there, then copy the output and paste it into the XDebug installation wizard. It will analyze it and give you tailored installation instructions for your environment.

上文提示就是说,强烈建议我们创建一个test.php,创建一条语句phpinfo(),然后将得到的信息粘贴到XDebug installation wizard这个页面中。这个页面会分析好你的PHP环境,已经需要安装XDebug的步骤。

test.php

<?php
phpinfo();
?>

test.php中创建如上内容,然后在浏览器中打开,会看到类似如下信息:

phpinfo

然后将页面ctrl+a全部拷贝,粘贴到XDebug installation wizard这个页面中。点击页面最下方的按钮Analyse my phpinfo() output。会得到类似如下的内容:

xdebug install

其中有4个步骤,照着做一下。第一个是下载xdebug;然后将文件移动到指定目录;最后打开php.ini文件,将zend_extension添加上。然后照着文档,添加xdebug.remote_enablexdebug.remote_autostart。完整的代码如下:

xdebug.remote_enable = 1
xdebug.remote_autostart = 1
zend_extension="D:\Program Files\Php\PHPTutorial\php\php-7.1.13-nts\ext\php_xdebug-2.7.2-7.1-vc14-nts.dll"

修改好php.ini文件之后,别忘记重启服务器,也就是phpStudy

vsCode debug

首先在phpStudyPHPTutorial\WWW目录之下,添加一个测试文件index.php。添加几行测试代码:

<?php
$x = 10;
echo "Hello PHP<br>"; 
echo $x;
?>

然后点击vsCodedebug按钮,或者ctrl+shift+d,开启调试窗口。如下:

xdebug-launch

launch.json中,配置了需要监听的xdebug的端口9000,直接使用默认的就好。

最后,只需要在代码中设置断点,然后刷新浏览器就能看见vscode进入断点了。如下图:

xdebug-ing

注意:我主要采坑的地方是在php.ini这个配置文件中。xdebug.remote_enablexdebug.remote_autostart,这两个配置文档中说的是设置为1。我设置之后经常会发现页面无法访问。后来我找到xdebug的官网文档,发现这两个属性也可以是boolean,文档看这里:remote_enable。所以如果有时无法访问到页面时,将值修改为true即可。


以上就是我配置VSCodePHP调试时候遇到的一些问题。主要感慨就是,文档一定要找到官方文档,然后提高英语阅读水平,随后再加上多多尝试即可。另外就是有时候百度出来的答案,自己尝试了经常会发现不好使~所以还是多多从官方文档入手。


如果觉得我的文章对你有用,请随意赞赏

你可能感兴趣的

载入中...