推荐这篇文章:
http://vladimirbarbarosh.blogspot.com/2011/05/compile-php-536-pecl-libevent-004.html
为了方便大家阅读,将内容转载给大家,不过还是鼓励去看原创博文。
Compile php-5.3.6 + pecl-libevent-0.0.4 + libevent-2.0.11-stable
Yesterday a friend of mine ask me to compile libevent
PHP extension for Windows. It takes me about a whole day to figure out how to do that. Just because it takes so much time I decided to publish how to do that. (To be honest we make it together.)
SOURCES
The following is a list of sources that we will need:
•
PHP 5.3.6
•
PECL libevent-0.0.4
•
libevent-2.0.11-stable
TOOLS
The following is a list of tools that we well need:
•
Windows SDK for Windows Server 2008 and .NET Framework 3.5
•
PHP SDK Binary Tools
•
PHP 5.3 Depencencies (for the minimal PHP they are not necessary)
1. INSTALL WINDOWS SDK
I assume that they will be installed into c:\sdk directory.
2. CREATE C:\PHPSDK DIRECTORY
This is our workplace. I find it much easier to explain, read, and follow how to create it usingpseudo-code rather than words:
mkdir c:\phpsdk
pushd c:\phpsdk
extract http://windows.php.net/downloads/php-sdk/php-sdk-binary-tools-20110512.zip
bin\phpsdk_setvars.bat
bin\phpsdk_buildtree.bat php-5.3.6
pushd php-5.3.6\vc9\x86
extract http://md.php.net/distributions/php-5.3.6.tar.bz2
mv php-5.3.6 src
extract http://windows.php.net/downloads/php-sdk/deps-5.3-vc9-x86.7z
popd
extract http://pecl.php.net/get/libevent-0.0.4.tgz
rm package.xml
mv libevent-0.0.4 php_libevent
pushd php_libevent
extract http://monkey.org/~provos/libevent-2.0.11-stable.tar.gz
popd
popd
3. COMPILE MINIMAL PHP
cmd /e:on /v:on
c:\sdk\bin\setenv.cmd /x86 /xp /release
c:\phpsdk\bin\phpsdk_setvars.bat
cd c:\phpsdk\php-5.3.6\vc9\x86\src
buildconf
configure --disable-all --enable-cli
nmake
rem The following command creates php-5.3.6-devel-VC9-x86
rem directory which gives us extension developer's header
rem and .lib files
nmake snap
4. COMPILE LIBEVENT-2.0.11-STABLE
cmd /e:on /v:on
c:\sdk\bin\setenv.cmd /x86 /xp /release
c:\phpsdk\bin\phpsdk_setvars.bat
cd c:\phpsdk\php_libevent\libevent-2.0.11-stable
nmake -f Makefile.nmake
5. COMPILE PHP_LIBEVENT.DLL
This was the most trickier part.
cmd /e:on /v:on
c:\sdk\bin\setenv.cmd /x86 /xp /release
c:\phpsdk\bin\phpsdk_setvars.bat
cd c:\phpsdk\php_libevent
set phpdevdir=c:\phpsdk\php-5.3.6\vc9\x86\src\Release_TS\php-5.3.6-devel-VC9-x86
set libeventdir=c:\phpsdk\libevent\libevent-2.0.11-stable
cl libevent.c ^
/c ^
/Fophp_libevent.obj ^
/DZEND_WIN32 ^
/DPHP_WIN32 ^
/DWIN32 ^
/DZTS=1 ^
/DZEND_DEBUG=0 ^
/DCOMPILE_DL_LIBEVENT ^
/I%phpdevdir%\include\Zend ^
/I%phpdevdir%\include\main ^
/I%phpdevdir%\include\TSRM ^
/I%phpdevdir%\include ^
/I%libeventdir%\WIN32-Code ^
/I%libeventdir%\include ^
/I%libeventdir%
link php_libevent.obj ^
/DLL ^
php5ts.lib /LIBPATH:%phpdevdir%\lib ^
libevent.lib /LIBPATH:%libeventdir% ^
ws2_32.lib
6. TESTING PHP_LIBEVENT.DLL
cd c:\phpsdk\php-5.3.6\vc9\x86\src\Release_TS\php-5.3.6
copy php.ini-development php.ini
echo extension=c:\phpsdk\php_libevent\php_libevent.dll >> php.ini
php -m
FILES
• php-5.3.6-libevent-ts.zip
• phpsdk-libevent-skeleton.zip (skeleton of our workspace directory)
REFERENCES
• Build your own PHP on Windows
• How do I compile an extension for PHP 5.3 for windows as a DLL?
• Creating a PHP 5 Extension with Visual C++ 2005
• Creating a PHP Extension for Windows using Microsoft Visual C++ 2008
• Compiling PHP for Windows Vista using Visual C++ Express 2008 – Seriously!
分享到:
相关推荐
在Windows环境下编译PHP-beast扩展是一个较为复杂的过程,涉及到选择合适的编译器、设置编译环境、准备编译文件、以及执行具体的编译步骤。本文将详细说明如何在Windows系统中编译PHP-beast扩展,同时会提供必要的...
压缩包中的子文件“nbiot_sdk-master”很可能是SDK的主目录,里面可能包含了源码文件、编译脚本、文档和其他辅助材料。开发者在获取这个SDK后,需要解压并根据提供的文档或示例代码进行集成和开发,以实现NBIOT设备...
开发者可以使用这些工具来编译PHP源代码,生成适用于PHP 7.0的二进制扩展。 6. **使用流程** - 安装SDK后,首先使用`phpize`设置构建环境。 - 创建PHP扩展的C源代码,根据`share`目录中的示例和文档编写。 - ...
在Windows 10 x64系统上,利用Visual Studio 2019进行编译,可以创建用于音频通话的DLL文件。以下是一份详细的编译流程,涵盖了从源码下载到编译环境配置的每一步。 1. 获取PJSIP源码:首先,你需要访问PJSIP的官方...
因此,需要下载 PHP 的源代码文件,使用 PHP 官方提供的 PHP 扩展开发模板创建程序“骨架”,使用相应版本的 C 语言开发环境进行编译和调试,最后编译出所需要的 DLL 文件。 开发环境包括 Visual Studio 2008、...
本文详细介绍了在Windows环境下如何编译PHP5.4和xdebug模块的全过程,对于希望在Windows系统上自行编译PHP环境的开发者来说,提供了宝贵的指导。在开始前,你需要准备好编译环境和相关的软件包,以下是编译所需的...
document_sdk可能是SDK的源代码或编译后的库文件,而document可能包含SDK的使用说明、示例代码或API文档本身。 综上所述,这个PHP接口API文档转换SDK是一个强大的工具,能够帮助开发者跨越多个平台(包括移动设备和...
在企业微信的日常使用中,为了保障企业内部沟通的合规性、审计需求以及信息安全,企业微信提供了会话存档功能。这个功能允许企业保存并管理员工间的聊天记录,以便后续查阅或审计。而PHP作为广泛应用于Web开发的编程...
### Android交叉编译htop及使用方法 #### 一、htop简介 htop是一款功能强大的系统监控工具,它在传统的top基础上进行了大量的改进和...编译完成后,htop即可在Android平台上运行,为开发者提供丰富的系统监控功能。
在压缩包中的"document"文件可能包含了API的原始定义,而"document_sdk"文件可能包含了生成的SDK源码或预编译的库文件。开发者可以参考SDK的使用文档(通常也在压缩包内),学习如何将这个工具集成到自己的项目中。 ...
一、源码源代码: 源代码是程序的原始编写形式,它包含了开发者用编程语言书写的指令,可供其他开发者阅读、学习和修改。7PAY支付的源码SDK提供的是未经过编译或打包的原始代码,开发者可以直接查看并理解整个支付...
vs2015 源码编译 tightvnc-2.8.59-gpl https://www.tightvnc.com/download.php vs2015 可以直接编译 vs2010 需要安装Win8 SDK8.1 然后,在desktop项目的属性里添加上include和lib include:(放在..后面) C:\...
在Windows系统下手动编译PHP及其扩展memcache是一个对PHP开发者来说非常有价值的过程,尤其是当你需要对环境进行定制,或者需要调试扩展时。以下知识点详细介绍了如何在Windows环境下编译PHP和memcache扩展。 首先...
开发者可以使用它来打开并编译整个项目,包括所有相关的源代码和资源。 2. `readIdCardClient`:可能是一个子项目或目录,包含了与读取身份证相关的客户端代码。客户端代码通常是与用户交互的部分,可能负责调用服务...
在提供的标签中,“源码”和“工具”暗示了我们需要处理源代码并可能使用一些开发工具。 描述中的链接指向了一个个人博客文章,虽然具体内容未提供,但可以推测博主可能分享了建立PHP扩展的具体步骤。通常,这个...
首先,我们要明确一点:在Windows上开发PHP扩展通常需要借助Microsoft的Visual Studio IDE,因为PHP的C语言接口需要使用Visual C++编译器。"vs.php_for_vs2010"项目就是为此目的而创建的,它提供了在Visual Studio ...
京东云开放API的SDK原始码为了深入了解京东开放平台提供的SDK ,我将他们提供的SDK反编译后,重新整理了一份SDK的源码。获得了源码后,首先我意识到的是这个SDK实现比较简单,主要功能就是将Java对象编码为JSON处理...
这个扩展使得开发者能够利用PHP语言方便地调用t2sdk的源代码,从而在PHP应用中实现特定的功能或服务。 【标签】"系统开源" 暗示了这个项目遵循开源原则,意味着源代码是公开的,允许用户查看、修改和分发。这为...
开发者应确保源码在使用前进行安全审计,加固输入验证,避免直接拼接SQL语句,使用预编译语句,以及对敏感信息进行加密存储。 6. **错误处理与日志记录**:良好的错误处理机制是系统稳定运行的关键。源码中应该包含...
Java从网络取得文件 1个目标文件 简单 Java从压缩包中提取文件 1个目标文件 简单 Java存储与读取对象 1个目标文件 如题 Java调色板面板源代码 1个目标文件 摘要:Java源码,窗体界面,调色板 使用Java语言编写的一款...