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

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

 

2.引入符号文件

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

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

 

3.扩展开启DEBUG信息

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

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

 

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

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

 

三、附加到进程

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

<?php
while(1){
     sleep(30);
     echo confirm_test_compiled('11');
}

 

2.添加断点位置

 

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

 

Over.

 

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

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值