`
cwqcwk1
  • 浏览: 87266 次
文章分类
社区版块
存档分类
最新评论

windows下编译php扩展 eAccelerator

 
阅读更多

eAccelerator是一个开源PHP加速器,用于优化程序,编码器和动态内容缓存。它通过在编译状态下对PHP脚本进行缓存以提高他们的性能,所以那些系统开销在编译时几乎可以被消除。它还能够对脚本进行优化以便加速它们的执行速度。利用eAccelerator可以减少服务器的负载并提高PHP代码的执行效率。


一、前期准备

1、下载php原代码和二进制包

地址:http://windows.php.net/download/

2、下载eaccelerator(选择zip包)

地址:http://eaccelerator.net/

3、php配置文件config.w32.h

地址:http://download.csdn.net/detail/cwqcwk1/5675195

Ps:

1、下载二进制包及配置文件,主要是为了省去编译php的过程

2、Php在win下分vc9、vc6等版本,下载前要选好,编译后的扩展只能用于对应版本的php

3、如果选vc6,vc11,则要修改config.w32.h中对应的vc信息

二、解压过程(本例选vc9)

1、直接解压php-5.3.26-src.zip,eaccelerator.zip到d:\

2、复制config.w32.h到d:\php-5.3.26-src\main目录

3、解压php-5.3.26-Win32-VC9-x86.zip需要解压到d:\php目录

4、把d:\php\dev\php5ts.lib复制到eaccelerator文件夹

5、把eaccelerator文件夹剪切到d:\php-5.3.26-src\ext

三、编译过程(错误可能与eaccelerator版本有关)

1、打开eaccelerator项目..\win32\eAccelerator.sln,设置为Win32 Release。

2、配置项目属性:链接库-常规,附加库目录补充“.\..”;

3、开始编译项目,可能发生以下错误:

../../../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;

4、继续编译,可能发生以下错误:

\ext\eaccelerator\ea_store.c(205): error C2143: syntax error : missing ';' before 'type'

\ext\eaccelerator\ea_store.c(207): error C2065: 'opline' : undeclared identifier

解决:这是由于项目该处没用规范的C写法,把“zend_op *opline, *end;”移到“ADDSIZE(size, from->last * sizeof(zend_op));”上面,也就是if 结构中的首部。

5、继续编译,应该没有其他错误了,完成后在Release目录找到eAccelerator_ts.dll

四、结束语

1、写这篇文章,不仅说明如何在windows下编译eAccelerator,同时也说明了在windows下可以直接编写php扩展,无须借助cygwin等等

2、Php版本控制不是很理想,估计也很难避免的。4.0和5.0或者5.3都存在很大差别,而且同一版本中还有编译器的差别,线程安全的差别,所以开发当中也要注意这个问题。


分享到:
评论

相关推荐

    Windows下编译安装php扩展eAccelerator教程

    它通过在编译状态下对PHP脚本进行缓存以提高他们的性能,所以那些系统开销在编译时几乎可以被消除。它还能够对脚本进行优化以便加速它们的执行速度。利用eAccelerator可以减少服务器的负载并提高PHP代码的执行效率。...

    eaccelerator for 5.2.17 discuz x2.5

    【标题】"eaccelerator for 5.2.17 Discuz X2.5" 指的是一个针对PHP 5.2.17版本...但需要注意的是,虽然eaccelerator能提升性能,但在某些情况下可能与其他扩展或PHP版本存在兼容性问题,因此在实际应用前应充分测试。

    eAccelerator for PHP 5.2.8 in windows

    **eAccelerator for PHP 5.2.8 在 Windows 环境下的应用** eAccelerator 是一个针对 PHP 的开源高性能缓存和优化工具,它主要用于提升 PHP 应用程序的执行速度和效率。在本场景中,我们讨论的是 eAccelerator 与 ...

    用windows下编译过的eAccelerator for PHP 5.1.6实现php加速的使用方法

    将其重命名为 eaccelerator.dll (win版) 然后移至您的 php目录下 的 ext文件夹中 3.在c:\php\建立缓存文件夹 temp 修改权限为 user组可读写 3.根据您系统的情况,一般都是PHP 扩展 ISAPI 打开php.ini文件,...

    eAccelerator_096_php5213_vc6.zip

    它通过将PHP代码编译成中间表示(Opcode)并存储在共享内存中来提高PHP脚本的执行速度,从而减少了PHP解释器重复解析和编译PHP代码的开销。此外,eAccelerator还提供了对代码的优化功能,进一步提升了性能。 **PHP ...

    php-pecl-5.4.16-Win32-VC9-x86_eaccelerator

    《PHP扩展eAccelerator在Windows环境下的安装与配置详解》 PHP作为一种强大的开源脚本语言,在Web开发领域占据着重要地位。为了提升PHP应用程序的性能,开发者常常会使用各种缓存和加速工具,其中eAccelerator就是...

    eAccelerator0953_5.2.10.dll

    【标题】"eAccelerator0953_5.2.10.dll"指的是一个特定版本的eAccelerator扩展模块,其版本号为0953,适用于PHP 5.2.10版本。eAccelerator是一个开源的PHP加速器、缓存器和优化器,它的主要目的是提高PHP应用程序的...

    eAccelerator支持php5.3.5加速器及配置

    Visual C++ 6 编译器的使用意味着这个扩展可能只适用于 Windows 平台,因为 VC6 是微软为 Windows 开发的应用程序的主要编译工具。 配置 eAccelerator 需要对 `php.ini` 文件进行编辑。`php.ini` 是 PHP 的配置文件...

    eAccelerator

    然而,需要注意的是,尽管eAccelerator在许多情况下都是一个很好的选择,但在某些特定的PHP应用环境下,可能需要评估其与诸如APC(Alternative PHP Cache)、OpCache(PHP 5.5及以后版本内置的缓存器)等其他PHP加速...

    php缓存加速器eAccelerator配置详解.doc

    开发者可以使用 eAccelerator API 实现自定义的缓存策略,比如在特定条件下强制更新缓存,或者在用户登录后清除特定页面的缓存。 **四、附录和参考资料** 对于更深入的 eAccelerator 使用,可以参考官方文档、...

    eAccelerator_v1_0_svn427_for_v5.2.17-VC6

    `dll`是动态链接库文件,Windows操作系统下的库文件,包含了eAccelerator扩展的实现,需要被PHP解释器加载才能启用eAccelerator的功能。 在安装和配置eAccelerator时,用户需要确保其与PHP版本匹配,并正确地添加到...

    在linux上建立PHP的加速器eAccelerator.pdf

    主要有两种扩展方式,一种是作为PHP扩展(extension),另一种是作为Zend扩展(zend_extension)。配置示例为`extension=/path/to/php/install/lib/php/extensions/no-debug-zts-20041030/eaccelerator.so`或者`zend...

    Linux编译升级php的详细方法

    但从PHP 5.4.0开始,safe-mode已经被官方移除,因此在编译PHP 5.5.0时,尝试使用该选项将会失败。其他一些选项,如--enable-discard-path、--enable-fastcgi、--enable-force-cgi-redirect、--with-curlwrappers等,...

    phpcoder_eaccelerator-1.5

    2. **性能提升**:eAccelerator的缓存机制能有效降低服务器的负载,尤其是在处理大量用户请求的高并发场景下,可以显著改善网站性能。 3. **调试与测试**:PHPCoder的调试工具允许开发者进行代码调试,找出潜在的...

    eAccelerator-0.9.5.3-for-Win-php5.2.9-2

    9. **与其他扩展的兼容性**:在使用eAccelerator时,需考虑与其他PHP扩展的兼容性,如某些扩展可能会冲突,需要适当调整。 10. **故障排除**:安装或使用过程中可能出现错误,Readme和Note文件提供了可能的解决方案...

    eaccelerator-0.9.6.1.zip

    1. **编译优化**:eAccelerator在第一次运行PHP脚本时会将其编译成机器码并存储起来,后续请求时直接执行已编译的代码,减少了解释器的工作量,提高了执行速度。 2. **内存缓存**:它将经常访问的PHP脚本缓存在内存...

    eAccelerator0951_5.2.3

    `eAccelerator` 是一个针对 PHP 的开源性能优化工具,它主要功能是通过缓存 PHP 脚本的编译结果,以提高网站的运行速度和响应时间。eAccelerator 版本 `0951_5.2.3` 指的是该软件在2009年5月1日发布的一个适用于 PHP...

    PHP中加速、缓存扩展的区别和作用详解(eAccelerator、memcached、xcache、APC )

    本文将详细介绍PHP中几个流行的加速缓存扩展——eAccelerator、memcached、xcache、APC的各自特点、功能以及应用场景。 eAccelerator是一个自由开放源码的PHP加速器,旨在优化PHP动态内容的缓存性能。它可以将PHP...

Global site tag (gtag.js) - Google Analytics