php环境搭建以及XDebug的配置

PHP环境搭建

1.使用文本编辑器IDE

我使用vscode,同类的有Notepad++,Sublime Text。文本编辑器特点是轻便、干净。

IDE有Zend Studio、Eclipse for PHP、EasyEclipse等,但IDE很臃肿,所以我不会用

2.WAMP

2.1.内容

里面包含有Apache、MySQL、PHP、以及最关键的Xdebug。

2.2.安装以及默认浏览器

WAMP依赖VC++ 2012和VC++ 2015类库,否则安装会提示缺少xxx.dll文件。

WAMP下载并安装好后,双击启动,右下角任务栏出现软件图标,左键点击,并找到并单击 "Localhost" 项,如图1所示:

php环境搭建以及XDebug的配置

图1 左键任务栏图标界面

       弹出一个页面,如图2。这个就是PHP的服务器主页面,刚开始可能会是默认的IE浏览器,打开wamp的文件夹目录,找到 “wampmanager.conf” 文件,用vscode或文本编辑器打开(记事本会是长长的不方便看),搜索 “navigator” 项,将它的默认值改为你浏览器的路径,图3,值得注意的是,PHP中,用户输入的路径,都需要用反斜杠 “/”,所以将路径复制过来后,要使用反斜杠 “/” 替换斜杠 ”\”。

php环境搭建以及XDebug的配置

图2 PHP服务器页面

php环境搭建以及XDebug的配置

图3 设置默认浏览器路径

 

2.3.配置

2.3.1.配置文本编辑器

     文本编辑器需要配置PHP.exe的路径,类似于java配置bin目录下的java.exe和javac.exe。以vscode为例,找到设置,如图4。然后在搜索栏搜索php,找到settings.json,如图5。再然后,在如图6的选项中,设置php.exe的路径,用什么版本就填什么版本,注意要反斜杠 “/”

php环境搭建以及XDebug的配置

图4  vscode设置

php环境搭建以及XDebug的配置

图5  settings.json设置

php环境搭建以及XDebug的配置

图6  配置php.exe路径

 

2.3.2.PHP Debug

       先安装PHP Debug,好解释一些,安装PHP Debug插件,如图7,安装完成后要重开vscode。

php环境搭建以及XDebug的配置

图7 安装PHP Debug插件

        刚开始我一直找不到如图8的齿轮在哪里,因为PHP Debug必须通过打开www文件夹中的文件才能调试,如图9、图10,直接在vscode中新建的文件是调试不了的。打开文件夹后在图11点击创建launch.json文件(这时你已经发现了图8的齿轮,就很开心),在搜索框选择环境 “php”。然后在图9的www目录下会自动生成 “.vscode” 文件夹,里面放有 “launch.json” 配置文件。www文件夹在图标左键-www directory可以打开。

php环境搭建以及XDebug的配置

图8 调试设置

php环境搭建以及XDebug的配置

图9 打开文件夹选项

php环境搭建以及XDebug的配置

图10 打开文件夹

php环境搭建以及XDebug的配置

图11 创建launch.json文件

2.3.3.XDebug

       Xdebug可以断点调试,很实用,断点调试在开启了远程调试后,才可以使用,且远程调试默认是不开启的。左键点击任务栏图标,打开 ”php.ini”,如图11:版本尽量选择7.2以下的,我用过7.3.1的,结果就调试不了,在图标的Version栏可以更换版本。更换版本后,Xdebug的文件版本也会自动变更。

       另外,网上有好多教程,我都不知道是在说哪里的 ”php.ini”,(就很气),这里的 ”php.ini”是在 “wamp64\bin\apache\apache2.4.37\bin” 文件夹里。

php环境搭建以及XDebug的配置

图11 “php.ini” 位置

       点开php.ini后,可以在文档的最下面找到XDebug的配置选项,如图12,” xdebug.remote_enable” 项设置为 “on”。并且添加 “xdebug.remote_autostart” 项,也设置为 “on“ 如图13, 然后 ”Restart All Services” 重启服务器,这一步很重要

php环境搭建以及XDebug的配置

图12 XDebug的默认配置选项

php环境搭建以及XDebug的配置

图13 XDebug更改后的选项

2.3.4. phpinfo()语句

       phpinfo()语句你可以在服务器主页面左下角看到,点开会有很多php输出的说明,找到XDebug项,如图14,”xdebug.remote_enable = on”和”xdebug.remote_autostart = on”项配置正确。这里有一些问题:

       ①我第一次选择的是php7.3.1版本,phpinfo()之后他没有XDebug项,然后换到php7.2.14就有了。

       ②必须 ”Restart All Services” 重启服务器,服务器上的元素才会更改,更改本地文件并没有更新到服务器里。

php环境搭建以及XDebug的配置

图14 XDebug配置输出

2.4.断点测试

       写一段代码,如图15,先前配置PHP Debug的时候说了,”PHP Debug必须通过打开www文件夹中的文件才能调试”,所以测试代码就必须放在www文件夹里边。在服务器主页地址栏里加上反斜杠 ”/” 和你的 ”代码文件名.php” 如图16,就会显示 “hello world” 文字。

关于断点测试,在” echo "Hello World!";”前,点上一个断点,然后按F5进入调试,接着刷新浏览器的测试页面图16,你会发现刚才打的断点被命中了,如图17。

断点测试成功之后,环境搭建就告一段落了,测试不成功的话,问题很大可能出现在2.3.4的问题中,也就是无论你配置了本地文件多少次,只要你不重启服务器,你都是白干,断点测试就一直不成功。

php环境搭建以及XDebug的配置

图15 测试代码

php环境搭建以及XDebug的配置

图16 测试页面

php环境搭建以及XDebug的配置

图17 断点被命中