何为DEBUG?
相信很多程序员都知道debug这个单词,也明白它的意思,但是对于这词的由来,恐怕少有人知道。关于debug的由来,要追溯到1937年。1937年,美国青年霍德华.艾肯找到IBM公司为其投资200万美元研制计算机,第一台成品艾肯把它取名为:马克1号(mark1),又叫“自动序列受控计算机”,从这时起IBM公司由生产制表机,肉铺磅秤,咖啡研磨机等乱七八糟玩意儿的行业,正式跨进“计算机”领地。为马克1号编制程序的是哈佛的一位女数学家格蕾丝·莫雷·赫伯,有一天,她在调试程序时出现故障,拆开继电器后,发现有只飞蛾被夹扁在触点中间,从而“卡”住了机器的运行。于是,霍波诙谐的把程序故障统称为“臭虫(BUG)”,把排除程序故障叫DEBUG,而这奇怪的“称呼”,后来成为计算机领域的专业行话。从而debug意为程序除错的意思。
系统环境:windows
运行环境:phpstorm 2017.3.3
PHP版本:php5.6.30
Xdebug版本:
注:xdebug 版本一定要与php版本对应
下载xdebug,并安装
下载xdebug 之前可以先用xdebug 官方检测验证php 版本及配置信息相关文件,检测传送门(https://xdebug.org/wizard.php),打印phpinfo() 或者 php -i >phpinfo.txt (linux下使用),粘贴到文本框之中点击 Analyse my phpinfo() ouput 进行分析
分析结果如下
截止发文前,当前已不支持php7.0以下检测,且Xdebug 2.6以上只支持php7.0以上版本。
但是我们可以看到当前配置文件及相关信息,然后自行选择对应版本下载配置,下载链接传送门(https://xdebug.org/download.php),当前php版本为php5.6.30 VC11 NTS 版本,版本在phpinfio 可以查看到,
API220121226,NTS VC11已经很清晰明白
拓展:判断php 是否是nts 与ts版本之分,参照如下
TS指Thread Safety,即线程安全,一般在IIS以ISAPI方式加载的时候选择这个版本。
NTS即None-Thread Safe,一般以fast cgi方式运行的时候选择这个版本,具有更好的性能。
下载对应Xdebug版本文件(当前下载php_xdebug-2.5.5-5.6-vc11-nts.dll[32位版本]),32位版本不行就试试64位版本,然后打打开php.ini 在当前文件最后添加
[Xdebug] zend_extension = D:\install\wnmp\php-5.4.45-nts-Win32-VC9-x86\ext\php_xdebug-2.4.1-5.4-vc9-nts.dll//这个xdebug 已经提示了 可以不添加 其他的按照自己的添加 xdebug.idekey="PHPSTORM" xdebug.remote_handler = "dbgp" xdebug.remote_mode = "req" xdebug.remote_host=127.0.0.1 xdebug.remote_enable=on xdebug.remote_port = 9000 //这是设置端口 可以改 只要下面这是phpstorm 一致就可以 xdebug.remote_autostart = On
安装成功之后的截图
到此php xdebug 安装完成。