欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

在Windows上编译安装AMFEXT for PHP5.3

程序员文章站 2024-01-23 20:51:52
...
在Windows下编译安装AMFEXT for PHP5.3
AMFEXT官方未提供PHP5.3版的dll文件,不得不自己动手编译,以下是编译小记:

1. 下载必要的软件.
1). PHP5.3 for Win32二进制和源代码各一份
2). VC6或以上IDE
3). Cygwin.
4). 两个必要的包
http://www.php.net/extra/bindlib_w32.zip
http://www.php.net/extra/win32build.zip
5). 下载amfext 0.9.2-dev版

2. 解压缩软件到适当目录
1). 解压缩php二进制代码到e:\php5.3.6目录(其实我们只感兴趣dev子目录下的php5ts.lib文件)
2). 解压缩php源代码到e:\php5.3.6-sources目录
3). 解压缩amfext 0.9.2到e:\php5.3.6-sources\ext\amfext目录下
4). 解压缩bindlib_w32.zip和win32build.zip到同样目录(如:c:\win32build)
设置路径set path=%path%;c:\win32build\bin

3. 编译amfext VC工程
1). 打开amfext.dsp工程文件
2). 设置工程
Project->Settings(Win32 Release)->Link 为:e:\php5.3.6\dev\php5ts.lib
Build->Set Active Project Configuration选中amftext - Win32 Release.
3). 编译amfext
由于amfext for php5.3有个bug,所以编译之前要修改amf.c
    //On line 1188, replace:  
    int deallocResult = (*struc)->refcount;  
    //with  
    int deallocResult = Z_REFCOUNT_PP(struc); 
    
    //On line 2674, replace:
    newval->refcount--;
    //with
    Z_DELREF_P(newval);

现在按F7编译工程,提示
Cannot open include file: '../main/config.w32.h',提示找不到文件,到php源代码的字母main目录下一看,果然没有这个文件,要自己生成这个文件:
步骤1. 到PHP源代码根目录执行buildconf.bat
步骤2. 到PHP源代码根目录执行configure.bat(或者执行 cscript /nologo configure.js --with-php-build="../win32build" --without-libxml --disable-odbc)
如果没有之前的set path=%path%;D:\win32build\bin会出现如下提示:
Checking for bison.exe ...
ERROR: bison is required

重新编译工程,报错。一大堆的php_stream_transport.h error
形如
..\..\main\streams/php_stream_transport.h(85) : error C2143: syntax error : missing ')' before '*'
..\..\main\streams/php_stream_transport.h(85) : error C2081: 'socklen_t' : name in formal parameter list illegal

这是由于找不到宏报的语法错误。打开这个文件,添加
typedef int socklen_t;

到文件头部。

重新编译工程,不出意外在php源代码ext子目录就可以看到php_amf.dll

1 楼 wanluoliang 2011-07-12
非常感谢你的教程。。。。。。。。。。。。。。

2 楼 live711 2011-08-13
你编译的dll能下载过来直接用吗?
在Windows上编译安装AMFEXT for PHP5.3

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频


网友评论

文明上网理性发言,请遵守 新闻评论服务协议

我要评论
  • 在Windows上编译安装AMFEXT for PHP5.3
  • 专题推荐

    作者信息
    在Windows上编译安装AMFEXT for PHP5.3

    认证0级讲师

    推荐视频教程
  • 在Windows上编译安装AMFEXT for PHP5.3javascript初级视频教程
  • 在Windows上编译安装AMFEXT for PHP5.3jquery 基础视频教程
  • 视频教程分类