(整理,备忘) php扩展开发,创建一个新工程(名为test)。 测试环境:windows,visual c++ 2017,php7.2 先下载php源码和dev包,解压到php-src和php-dev目录。 一、运行命令:php c:/php-src/ext/ext_skel.php --ext test,创建test目录,里面一个.c文件一个.h文件 二、使用vs,新建,利用现有文件创建项目,选择test目录。创建dll项目。 三、配置 64位机器则选择x64平台,缺省是x86 常规: ->输出目录:c:/php/ext/ ->配置类型:dll C/C++: 附加包含目录,c:\php-src;c:\php-dev\include\main;c:\php-dev\include\zend;c:\php-dev\include\TSRM; C/C++预处理器定义:ZEND_WIN32;PHP_WIN32;ZEND_DEBUG=0;COMPILE_DL_TEST(改为自己的扩展名);%(PreprocessorDefinitions) 链接器-附加依赖项:\php\dev\php7.lib;%(AdditionalDependencies) 四、活动项目选择x64和debug生成dll(发布时再生成release版本) 五、php.ini文件添加extension=C:\php\ext\test.dll 重启iis服务。 六、现在php可调用dll里的函数比如:test_test1()和test_test2("world!") 七、php -m 查看扩展是否已经加载。 (如果编译时选择ZEND_DEBUG=1则不能加载) 八、调试:设置断点,在vc中附加php进程。