VS2015开发调试PHP扩展

原文链接:https://blog.csdn.net/a600423444/article/details/12720543

本文仅是对原文的一些错误及一些过时的信息加以修正,比如原文是针对VS2012,本文是按VS2015进行修正等,其他内容由于基本一致,就直接拷贝过来了。

 

 

 

一、搭建Windows的PHP扩展开发环境

推荐文章:https://wiki.php.net/internals/windows/stepbystepbuild_sdk_2
上文详细介绍了不同PHP版本的搭建方法。

 

二、配置调试环境


1.下载PHP_DEBUG_PACK文件:https://windows.php.net/download/#php-7.1

VS2015开发调试PHP扩展_第1张图片

选择时,PHP大部分版本都是32位的,所以选x86就可以了,注意必须与下载的PHP二进制版本相同,例如你在第一步搭建PHP开发环境时,选择的是VC9 x86 Non Thread Safe,那么DEBUG PACK就应该下载相同版本的DEBUG PACK。

 

2.引入符号文件

Debug pack压缩包里是所有PHP调试相关的符号文件(*.pdb),引入他们是调试的关键。

调试-》选项-》调试-》符号-》将解压路径添加入符号位置

VS2015开发调试PHP扩展_第2张图片

 

3.扩展开启DEBUG信息

项目-》属性-》链接器-》调试-》生成调试信息-》设置为“优化以便于调试(/DEBUG)

VS2015开发调试PHP扩展_第3张图片

编译生成Release版本DLL时,会在Release目录生成一个pdb文件,再次进行第2步的操作,将这个pdb文件所在路径也添加进去

VS2015开发调试PHP扩展_第4张图片

 

4、将Release目录的生成的dll文件拷贝到PHP拓展目录下,并在php.ini中加载这个拓展。

比如我的测试项目叫myext,则会生成myext.dll,将myext.dll拷贝到php的ext目录下,然后在php.ini文件中添加这个拓展:extension=myext.dll

VS2015开发调试PHP扩展_第5张图片

 

三、附加到进程

1.写一段PHP脚本,并在cmd下运行,脚本的关键函数改成你自己的。

 

2.添加断点位置

VS2015开发调试PHP扩展_第6张图片

 

3.【调试】->【附加到进程】->找到进程名为【php.exe】的进程,附加进来

VS2015开发调试PHP扩展_第7张图片

 

Over.

 

希望这篇文章,能够帮助像我一样刚刚接触PHP扩展的朋友们~。

 

 

 

你可能感兴趣的:(VS2015,PHP拓展,PHP拓展开发调试)