php扩展开发之工程创建(visual c++)

网友提问最佳回答:

(整理,备忘)

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进程。

获赞数:913

收藏数:88

回答时间:2024-02-27 12:09:14