eAccelerator binaries for PHP 5.x (windows builds)

For the Windows eAccelerator for php 5.3+ visit our new page at:eAccelerator binaries for PHP 5.3+.

Updated: eAccelerator download using latest code (0.9.5.3 with PHP 5.2.9).

Please find following the compiled binaries of eAccelerator for Windows using Microsoft VC++ 6. For PHP 4 versions: eAccelerator binaries for PHP 4.x.
If you need a version not offered here, let us know (post comment).

eAccelerator windows binaries follow the naming conversion: eAcceleratorVVV_PHPVERSION.dll with:
VVV: the version of eAccelerator
PHPVERSION: the version of the targeted PHP

Example eAccelerator094_4.4.3.dll is built from eAccelerator version 0.9.4 targeting the php version 4.4.3.
You can rename your download following the "standard" names: eAccelerator.dll eLoader.dll

Help with installing and configuring eAccelerator.

Technical Notes:
If a version of EA compiles directly, with no changes,  you will not see an additional "SiteBuddy" version. If you see a SiteBuddy version it means the original code had to be modified with "known" published solutions to get it to compile. The "SiteBuddy" version will be my custom brew.

File details, when applicable:
VERSION_Useful_File.zip contains the readme and the divers php files (control panel etc...).

Following you can download the eAccelerator binaries for your version of PHP 5.
Please post any positive or negative experience you have using these downloads. Avoid posting bugs related to eAccelerator (binary bugs will most likely appear immediately: when loading or first use). Post only issues relating to the eAccelerator downloads or requests. Please do not post support issues about eAccelerator under this article. You can do so in the eAccelerator Section of the Forums.

AttachmentSize
eAccelerator 095 Final for PHP 5.1.6120 KB
095_final_useful _files.zip41.97 KB
eAccelerator 0.9.5 Final for PHP 5.1.5120 KB
eAccelerator 095 Final for PHP 5.1.6 Optimized for Size108 KB
eAccelerator 095 Final for PHP 5.2.0120 KB
eAccelerator 095 Final for PHP 5.0.5120 KB
eAccelerator 095 for PHP 5.0.4 (OLDER PHP VERSION)120 KB
eAccelerator 0951 for PHP 5.2.2120 KB
eAccelerator 0951 for PHP 5.2.1120 KB
eAccelerator 0951 for PHP 5.2.2 Built with VC2005 SP1128 KB
eAccelerator 0951 for PHP 5.1.4120 KB
eAccelerator 0951 for PHP 5.2.3120 KB
eAccelerator 0951 for PHP 5.2.0 (OLDER PHP VERSION)120 KB
eAccelerator 0951 for PHP 5.2.4120 KB
eLoader 0951 for PHP 5.2.428 KB
0952_final_useful _files.zip42.27 KB
eLoader 0952 for PHP 5.2.328 KB
eAccelerator 0952 for PHP 5.2.3120 KB
eLoader0952_5.2.4.dll28 KB
eAccelerator 0952 for PHP 5.2.4120 KB
eAccelerator 0952 for PHP 5.2.6120 KB
0953_final_useful _files(nothing new but changelog.txt)42.39 KB
eLoader 0953 for PHP 5.2.528 KB
eAccelerator 0953 for PHP 5.2.5120 KB
eLoader 0953 for PHP 5.2.628 KB
eAccelerator 0953 for PHP 5.2.6120 KB
eLoader0953_5.2.7.dll28 KB
eAccelerator 0953 for PHP 5.2.7120 KB
eLoader0953_5.2.8.dll28 KB
eAccelerator 0953 for PHP 5.2.8120 KB
eAccelerator 0953 for PHP 5.2.9120 KB
eAccelerator 0953 for PHP 5.2.10120 KB
eAccelerator 0.9.6.1 for PHP 5.2.14 Tread Safe (TS)84 KB
eAccelerator 0.9.6.1 for PHP 5.2.14 None Tread Safe (NTS)80 KB


ZTS precompiler

I have quickly inspected the eAccelerator source code and it should work with the NTS version of PHP:
For example:

File: eaccelerator.h
#ifdef ZTS
# define ZTS_LOCK() tsrm_mutex_lock(ea_mutex)
# define ZTS_UNLOCK() tsrm_mutex_unlock(ea_mutex)
#else
# define ZTS_LOCK()
# define ZTS_UNLOCK()
#endif

File: eaccelerator.c
#ifdef ZTS
ea_mutex = tsrm_mutex_alloc();
#endif

It means that only if the preprocessor directive ZTS is defined it uses the synchronization functions. When you compile eAccelerator for the NTS version of PHP you have to make sure that the ZTS is NOT defined in preprocessor definitions (in VS.NET right click on the project then Properties then C/C++ -> Preprocessor -> Preprocessor Definitions).

Regards,
Mat

None Thread Safe...

Set to compile against php5.lib + zts=0 still gives me similar errors (see previous message).

why eloader don't work?

when i encode php source code by eaccleator,it said "PHP Warning:PHP Startup:Invalid library(maybe not a PHP library) 'eloader0952_5.2.4.dll' in Unknown on line 0"?and the encoded page don't work also,it said "the page not found"

I don't think eLoader is maintained...

I don't think eLoader is maintained by Bart for now....

From Bart's site:

"WARNING: The encoder and loader DO NOT support php 5.1 nor php 5.0 and contain a lot of bugs for php 4. This is the last release in which the encoder/loader functionality will be available. Later a new encoder/loader might be included but there aren't any plans for that right now. "

You might want to check with Bart about his plans for eLoader. Let us know if you do.

Thanks,
Chris

Just installed 5.2.4. and

Just installed 5.2.4. and eAccelerator.

I'm not sure if the speed is improved or not, but i think it is a little slow. I will test now without eaccelerator.

Any chance to see eAccelerator 0.9.5.2 for php 5.2.4 any time soon?

Thanx!

Released eAccelerator 0.9.5.2 for PHP 523 & 524

The main fix in ea 0952 is:
"This release fixes the optimizer bugs with php 5.2 that caused exception handlers to be optimized out."

Thanks Bart for another great eAccelerator release!

Chris
PS: Feedback welcome (works or not?, faster or slower? ...).

It work well but need to

It work well but need to flush the cache.
With php 5.2.4 + ea 0.9.5.1 : 0.23ms
With php 5.2.4 + ea 0.9.5.2 : 7.53ms before flush 0.19ms after flush

Thanks Bagu... Good tip.

Thanks Bagu...

Good tip.

where can i download eloader?

where can i download eloader for php5.2.4?thank.

I've just uploaded eLoader

I've just uploaded eLoader for php 5.2.4.

eAccerlerator 0.9.5.2

eAccelerator 0.9.5.2 is out...here are the release notes:

http://eaccelerator.net/wiki/Release-0.9.5.2

PHP 5.2.4 slower

On my system eAccelrator for php 5.2.4 improves the speed.
But the overall performance is much slower compared to PHP 5.2.3

A scripted that I have timed gives:

PHP 5.2.3: 20 ms
PHP 5.2.3 + eAccelrator: 12 ms

PHP 5.2.4: 28 ms
PHP 5.2.4 + eAccelrator: 20 ms

Thanks for the data Willem

Thanks Willem, for sharing this data.

This puts 5.2.3 with eA at the same speed as php 5.2.4 with eA --> 5.2.4 might be a version to skip for heavy php/db sites that need speed.

Cheers,
Chris

eAccelerator for PHP 5.2.4

Hello Chris,

Thanks again for the fast release of eAccelerator.
I don't have any performance problem as described below.

Willem

Performance on 5.2.4

Hi Chris !

I noticed that php 5.2.4 is running smoother without EAC rather than with ?! Can you confirm or is it only my personal mention ?

eAccelrator 0951 for php 5.2.4 released.

Hi Petesky,

eAccelerator 0951 for php 5.2.4 released.

Let me know how this version works for you. I did not see anything about php 524 doing some form of caching. Let me know if you still think perf under 524 without eAccelerator is better.

Here are the Windows specific fixes in 524:

1)Fixed possible crash in imagepsloadfont(), work around a bug in the pslib on Windows. (Pierre)
2)Fixed bug #42027 (is_file() / is_dir() matches file/dirnames with wildcard char or trailing slash in Windows). (Dmitry)
3)Fixed bug #41350 (my_thread_global_end() error during request shutdown on Windows). (Scott, Andrey)

Thanks to Pierre, Dmitry, Scoot and Andrey for helping the Windows version of PHP run stable.

Cheers,
Chris
PS: Let me know quick about my version. Thanks! Have a good Labor day week-end fellows!

Update: I also compiled eLoader but I do not think anyone still uses it(?). If you still do, drop a comment and I will upload it. Just trying to keep the list of downloads optimized to what is actually used.

Works great!

Chris,

Your DLL for 5.2.4 works great.

Thanks again!

PHP 5.2.4 Released

PHP 5.2.4 has been officially released.

http://www.php.net/releases/5_2_4.php

PHP5.2.4 Time

I've had to skip to a snapshot build of PHP5.2.4 because of problems introduced in earlier 5.2.x builds. Any chance of a windows binary for 5.2.4 please.

Hi Lester, I'm just going to

Hi Lester,

I'm just going to stick to released versions of php. They are too many "snapshot releases" to start making builds for those versions.

Sorry,
Chris

eAccelerator for php 5.0.2

Hi,
I'm using eAccelerator successfully for some time now, thanks for great job porting it to windows. Now I've got urgent need to tune a little bit older application which is running php 5.0.2 And I would appreciate eaccelerator 0.9.5.1 binary for this version. Is it possible ?

eAccelerator 951 for PHP 5.2.0

Hi,

would it be possible to have eAccelerator 951 for PHP 5.2.0 binaries for Windows.
I tried other 951 versions and they did not work for me.

thanks in advance
Sergey

ea951 for php520

Hi Sergey,

I will try to compile eAccelerator 0.9.5.1 for PHP 5.2 by next week.
Let me know if you are in real rush...

Cheers,
Chris

ea951 for php520

Hi Chris,

Thanks, if you could do in the next couple of days it would be great.

It's holding me back a little.

Regards,
Sergey

Released eAccelerator 0951 for PHP 520

Hi Sergey,

Released eAccelerator 0951 for PHP 520.

Enjoy,
Chris

Please add a 1 to the 0951

Please add a 1 to the 0951 for php 5.2.0...
;-)

Accelerator 0951 for PHP 523 comp. with VC 2005 No Compile

Update: It does not compile with VC 2005 get tons of errors like:

error C2466: cannot allocate an array of constant size 0

Googling that error, I found:

deprecated "default to int" rule:
Pre-standard C++ (and all C variants predating C99), use the "default to int" rule when declarations of functions and variables do not contain an explicit datatype. This behavior is maintained in Visual C++ 6.0 as the following declarations show:
const x=0; //implicit int static num; // implicit int myfunc(void *ptr); //implicit return type int

In Visual Studio 2005, you have to specify the datatype explicitly:
const int x=0; static int num; int myfunc(void *ptr); 

Tip: To locate incompliant code of this category, compile your app with Visual Studio 2005 and look for compilation errors about a missing datatype in a declaration.

No sure about this. It looks like someone introduced some old style "pre-standard" C++ in PHP 5.2.3, by not explicitly typing "int" certain variables. Probably used in some array.... This is probably a bug that should be logged at PHP.net, if someone has the time (update: i reported this issue PHP Bug 39130 see below for link)....

That is probably why so much open source software supports only VC6 (which in now 10 years old? or close to that). But it would sure be nice if PHP maintained compatibility with VC 2005. I guess someone could do a diff between 5.2.2 code and 5.2.3 code and look for places were certain variables (i'm guessing array indexes?) are not explicitly declared. See previous examples, like: "const x=0;" becomes "const int x=0;".

Anyway our eAccelerator versions compiled with VC 2005 were short lived...maybe in a few versions, PHP compatibility with VC 2005 will be restored.

Note: Double checked eA0951 PHP522 compiled just fine...

Update:

Looks like an on&off issue with PHP and VC++ 2005: See PHP Bug 39130

PHP 5.2.3

Hi,

Can you compile both dll for 0.9.5.1 and php 5.2.3
One with VC 6
One with VC+ 2005

Thanks in advance.

Accelerator 0.9.5.1 for PHP 5.2.3 Released

Accelerator 0.9.5.1 for PHP 5.2.3 Released.

Will try to compile the VC 2005 version after diner....

Enjoy,
Chris

Not working with Apache 2.2.4

Hi,

I just tried the new 0951 DLL with Apache 2.2.4 and PHP 5.2.3 and it is not working. Apache cannot start when you try to load the eaccelerator extension.