How to solve "eAccelerator requires Zend Engine
API version 220060519 , the Zend Engine API version 220090626 which
is installed, is newer. Contact eAccelerator at
http://eaccelerator.net for a later version of eAccelerator." on
FreeBSD
I've recently upgraded my FreeBSD Apache server from
port
www/apache20 I had some issues before I tune up and recompile
also the php5 port but eventually it worked out, however the
Eaccelerator content caching module failed to load as it was
outdated.
That's a common inconvenient with eaccelerator that every system
administrator out there has faced once or twice, especially on
systems that has custom compiled Apache servers and does not use a
specific precompiled version of the eaccelerator.
To solve the situation as you can expect I jumped on in the
/usr/ports/www/eaccelerator and removed the current
installed version of eaccelerator in order to compile and install
the latest port version.:
To do that I first attempted to upgrade the eaccelerator port with
portmaster but as there were some problems caused by
autoconf initialization etc., I finally decided to abandon the idea
of using portmaster and did it manually with the good old well
known trivial commands:
freebsd# cd /usr/ports/www/eaccelerator
freebsd# make deinstall
freebsd# make install && make clean
I've continued further and restarted my Apache server to load the
new eaccelerator version and made a small phpinfo php script to
test if the eaccelerator is properly loaded, yet with zero
success.
After checking out in my
/var/log/httpd-error.log , I've
determined the following error:
Failed loading /usr/local/lib/php/20060613/eaccelerator.so:
Cannot open
"/usr/local/lib/php/20060613/eaccelerator.so"
The error is quite obvious, to solve it I've opened my php
configuration file
/usr/local/etc/php.ini and placed in
it:
and substituted the line:
zend_extension="/usr/local/lib/php/20060613/eaccelerator.so:"
with:
zend_extension="/usr/local/lib/php/20090626/eaccelerator.so"
Further on I gave Apache another restart with:
freebsd# /usr/local/etc/rc.d/apache2 restart
Performing sanity check on apache2 configuration:
Syntax OK
Stopping apache2.
Waiting for PIDS: 71140.
Performing sanity check on apache2 configuration:
Syntax OK
Starting apache2.
followed by another test if the eaccelerator is loaded with the
phpinfo();
script.
Now even though the
Failed loading
/usr/local/lib/php/20060613/eaccelerator.so: Cannot open
"/usr/local/lib/php/20060613/eaccelerator.so" was no more, the
Eaccelerator was yet not loaded.
Another consult with
/var/log/httpd-error.log now revealed
me another eaccelerator error you read below:
eAccelerator requires Zend Engine API version
220060519.
The Zend Engine API version 220090626 which is installed, is
newer.
Contact eAccelerator at http://eaccelerator.net for a later version
of eAccelerator.
I did about 20 minutes of investigation on the internet looking for
a possible fix which gave me some idea what might be the cause for
error message, though it was finally my try/fail methodology that
helped me solve the issue.
The solution to the issue appeared to be easy thanks God, to solve
the error all you need to do is one more
make clean right
before installing the eaccelerator port.:
Here are the commands necessary to issue to solve the error and
make the eaccelerator load properly:
freebsd# cd /usr/ports/www/eaccelerator
freebsd# make clean &&
freebsd# make install clean
Now after restarting the Apache server once again eaccelerator has
properly been loaded once again.