博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP扩展开发WINDOWS配置
阅读量:4707 次
发布时间:2019-06-10

本文共 1508 字,大约阅读时间需要 5 分钟。

1.下载PHP5.4.27源码

2.下载php-5.4.27-Win32-VC9-x86

3.把它们放到同一个目录下,如php_win_ext目录下

4.将源码中src/win32/build/config.w32.h.in文件拷贝一份到src/main/下,并重命名为:config.w32.h。

5.创建WIN32 DLL项目,空项目即可。记得在项目中附加上LIB,包含目录,一些宏定义(ZEND WIN32必须的PHP_WIN32 ZEND_WIN32等,具体参考ZEND开发文档)。

6.在源码里,需要指定编译的版本号:#define PHP_COMPILER_ID  "VC9"

 

注意:需要下载PHP的线程安全版,因为我要开发的插件是WIN32界面引擎,需要线程安全。

5.4使用的是VC9,也即是VS2008,可以不用创建骨架代码,手动创建即可。

下面在网上抄一段代码,本人编译后,正常显示

/**  * 示例代码 **/#define PHP_COMPILER_ID  "VC9"#include "php.h"#include "ext/standard/info.h" ZEND_FUNCTION(example);PHP_MINFO_FUNCTION(example); zend_function_entry use_functions[] = {    ZEND_FE(example, NULL)    {NULL, NULL, NULL}}; zend_module_entry example_module_entry = {    STANDARD_MODULE_HEADER,    "PHP Extension Example",    use_functions,    NULL, NULL, NULL, NULL,    PHP_MINFO(example),    "1.0 beta",    STANDARD_MODULE_PROPERTIES}; ZEND_GET_MODULE(example); ZEND_FUNCTION(example) {     bool param;      if(zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|b", &param) == FAILURE) {         E_ERROR;         return;     }      if(param) {         php_printf("Example parm is true");     } else {         php_printf("Example parm is false");     }      return;} PHP_MINFO_FUNCTION(example) {    php_info_print_table_start();    php_info_print_table_header(2, "PHP Extension Example support", "enabled");    php_info_print_table_row(2, "Version", "1.0 beta");    php_info_print_table_end();}

记得在php.ini加上这个插件,编译成功后,即表示已经入门了,可以慢慢添加其它功能扩展函数。

转载于:https://www.cnblogs.com/xxlgm/p/3713726.html

你可能感兴趣的文章
gulpfile 压缩模板
查看>>
【34.14%】【BZOJ 3110】 [Zjoi2013]K大数查询
查看>>
【 henuacm2016级暑期训练-动态规划专题 A 】Cards
查看>>
第五篇:白话tornado源码之褪去模板的外衣
查看>>
设备常用框架framework
查看>>
bootstrap模态框和select2合用时input无法获取焦点(转)
查看>>
MockObject
查看>>
BZOJ4516: [Sdoi2016]生成魔咒(后缀自动机)
查看>>
查看手机已经记住的WIFI密码
查看>>
最新版IntelliJ IDEA2019 破解教程(2019.08.07-情人节更新)
查看>>
C# 两个datatable中的数据快速比较返回交集或差集
查看>>
关于oracle样例数据库emp、dept、salgrade的mysql脚本复杂查询分析
查看>>
adb shell am 的用法
查看>>
iOS10 UI教程视图和子视图的可见性
查看>>
FindChildControl与FindComponent
查看>>
中国城市json
查看>>
android下载手动下载Android SDK
查看>>
C++学习:任意合法状态下汉诺塔的移动(原创)
查看>>
leetcode133 - Clone Graph - medium
查看>>
UNET学习笔记2 - 高级API(HLAPI)
查看>>