在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
现在按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
形如
这是由于找不到宏报的语法错误。打开这个文件,添加
到文件头部。
重新编译工程,不出意外在php源代码ext子目录就可以看到php_amf.dll
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
上一篇: HashMap遍历的两种方式
下一篇: Redis详细介绍
推荐阅读
-
在Windows上编译安装AMFEXT for PHP5.3
-
MySQL 5.0在Windows上安装三步骤
-
在Windows系统上使用压缩归档文件安装MySQL的步骤
-
Oracle 10g在Windows 2008上安装
-
用Elasticsearch做站内搜索,在windows上安装好了之后怎么使用?
-
利用openssl管理证书及SSL编程第2部分:在Windows上编译 openssl
-
在Centos 5.5 上编译安装mysql 5.5.9_MySQL
-
TensorFlow在windows上的安装
-
在Windows系统上安装PHP应用程序服务器
-
在Windows系统上安装PHP应用程序服务器
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
相关文章
相关视频
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论专题推荐
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
认证0级讲师