EAccelerator
Encyclopedia
- Not to be confused with the computer security company eAccelerationEAccelerationeAcceleration, or eAcceleration Corp., is a technology company based in Poulsbo, Washington that produces StopSign, a computer security suite, including anti-virus and anti-spyware software, a popup blocker, and firewall....
.
eAccelerator is a PHP accelerator
PHP accelerator
A PHP accelerator is a PHP extension designed to improve the performance of software applications written in the PHP programming language.- Operation :...
derived from the MMCache
MMCache
MMCache, also known as Turck MMCache, is a PHP accelerator, or an extension to PHP meant to improve performance. It is structured as a simple proxy server between the web server and the web browser. Its most important feature is using memcached for caching the data in memory...
extension
Extension (computing)
Software extension, is a file containing programming that serves to extend the capabilities of or data available to a more basic program. It is a kind of list of commands which are directly included in the program. This term often coincides with the plug-in...
for the PHP
PHP
PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...
programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....
. eAccelerator provides a bytecode
Bytecode
Bytecode, also known as p-code , is a term which has been used to denote various forms of instruction sets designed for efficient execution by a software interpreter as well as being suitable for further compilation into machine code...
cache
Cache
In computer engineering, a cache is a component that transparently stores data so that future requests for that data can be served faster. The data that is stored within a cache might be values that have been computed earlier or duplicates of original values that are stored elsewhere...
. eAccelerator is open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
and thereby free to use and distribute. Old and unmaintained versions also provided an encoder.
Every time a PHP script is accessed, PHP usually parses and compiles scripts to bytecode
Bytecode
Bytecode, also known as p-code , is a term which has been used to denote various forms of instruction sets designed for efficient execution by a software interpreter as well as being suitable for further compilation into machine code...
. Once installed, eAccelerator optimizes the compiled bytecode and caches this to shared memory or disk. Upon subsequent accesses to a script, eAccelerator will access cached bytecode if it is available instead of the script being compiled. This avoids the performance overhead of repeated parsing and compilation.
Previous eAccelerator versions also provided functions for use in PHP scripts that allow access to shared memory
Shared memory
In computing, shared memory is memory that may be simultaneously accessed by multiple programs with an intent to provide communication among them or avoid redundant copies. Depending on context, programs may run on a single processor or on multiple separate processors...
, automatic web (content) caching, and other related tasks. These were removed as of version 0.9.6rc1.
Old eAccelerator versions had an encoder component that creates a file that cannot be as easily read as a normal PHP script, offering some code protection. A dedicated extension named eLoader is available to process such encoded scripts if the eAccelerator extension is not desired. This functionality has been removed from the current developer version and will not be part of the next release.