当前位置: 首页 > 编程笔记 >

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

邢飞白
2023-03-14
本文向大家介绍Windows下编译安装php扩展eAccelerator教程,包括了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://xiazai.jb51.net/201501/other/php_w32_config.rar

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和memcache扩展教程,包括了Windows下编译PHP和memcache扩展教程的使用技巧和注意事项,需要的朋友参考一下 Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大

  • 本文向大家介绍Linux下安装PHP MSSQL扩展教程,包括了Linux下安装PHP MSSQL扩展教程的使用技巧和注意事项,需要的朋友参考一下 PHP天然就对MySQL有良好的支持,但是想要用PHP对SQL Server进行操作,则需要花点时间了。今天刚好团队里的一个项目需要用PHP对SQL Server进行操作,遂帮忙配置好环境。 首先说明下,服务器的系统版本为SUSE Linux Ente

  • 本文向大家介绍linux平台编译安装PHP7并安装Redis扩展与Swoole扩展实例教程,包括了linux平台编译安装PHP7并安装Redis扩展与Swoole扩展实例教程的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了linux平台编译安装PHP7并安装Redis扩展与Swoole扩展的方法。分享给大家供大家参考,具体如下: 前面《PHP7安装Redis扩展教程【Linux与Windo

  • 本文向大家介绍Linux下手动编译安装PHP扩展的例子分享,包括了Linux下手动编译安装PHP扩展的例子分享的使用技巧和注意事项,需要的朋友参考一下 开发和部署的过程中可能会经常出现需要额外安装PHP扩展的情况,下边以PDO_MYSQL为例,介绍下手动编译安装PHP扩展: 先到http://pecl.php.net/找需要的版本,我用的是稳定的版本。要先看看说明,特别是要注意mysql的php的

  • 本文向大家介绍Windows下的PHP安装pear教程,包括了Windows下的PHP安装pear教程的使用技巧和注意事项,需要的朋友参考一下 因为需要安装 PHPUnit,要先装 pear,网上的教程大多数是以双击 go-pear.bat 开始,但是我安装的php文件夹里压根没有这个文件。 经过几次搜索之后终于找到了办法,解决步骤如下: 1、下载下面连接的文件至 go-pear.phar htt

  • 本文向大家介绍PHP下的Oracle客户端扩展(OCI8)安装教程,包括了PHP下的Oracle客户端扩展(OCI8)安装教程的使用技巧和注意事项,需要的朋友参考一下 最近的项目需要用php访问oracle数据库,不得不在linux下给php安装oci8扩展。php也可以使用pdo访问oracle数据库,但还是需要安装客户端。 首先到oracle官网的这个页面下载相关的文件,注意要连数据库服务器的