PHP 5.1.6, Centos 5.3 x64 MW installed via ATrpms, mediawiki-1.15.1 eAccelerator installed via 'yum install php-eaccelerator' which installed eaccelerator-5.1.6_0.9.5.2
phpinfo() shows: Quote: eAccelerator eAccelerator support enabled Version 0.9.5.2 Caching Enabled true Optimizer Enabled true Memory Size 33,554,376 Bytes Memory Available 28,066,960 Bytes Memory Allocated 5,487,416 Bytes Cached Scripts 33 Removed Scripts 0 Cached Keys 0 MW shows: "Couldn't find Turck MMCache, eAccelerator, APC or XCache; cannot use these for object caching."
Yes, I did restart httpd, no joy.
There are number of occurrences of this issue in the IRC channel logs, but unfortunately the answers are difficult to find (if there are any). Google wasn't all that helpful just yet, so I figure to give this a shot. If anyone has any ideas at all, I would much appreciate some feedback. Thanks in advance.
Cheers, Peter
contact@64north.net wrote:
... MW shows: "Couldn't find Turck MMCache, eAccelerator, APC or XCache; cannot use these for object caching."
Yes, I did restart httpd, no joy.
There are number of occurrences of this issue in the IRC channel logs, but unfortunately the answers are difficult to find (if there are any). Google wasn't all that helpful just yet, so I figure to give this a shot. If anyone has any ideas at all, I would much appreciate some feedback. Thanks in advance.
eAccelerator caches php bytecode to speed its execution. The scripts don't need to do anything special about it, so if you have eAccelerator working, it will speed up MediaWiki even if MediaWiki is not aware of it.
MediaWiki detects eAccelerator in order to use it for caching its own data. That's the bit that is disabled if MediaWiki can't find it. The issue is, mediawiki detects it by checking for the existance of eaccelerator_get(). Since it would need to call that function in order to use it for caching, it can't use it if php doesn't recognise that function. What's the output of var_dump(function_exists('eaccelerator_get')); on a single php file?
If it works there, there's something scary for mediawiki not detecting it. If it reports the function doesn't exist, you should probably ask to eAccelerator guys about it.
On Fri, Aug 28, 2009 at 3:13 PM, PlatonidesPlatonides@gmail.com wrote:
contact@64north.net wrote:
... MW shows: "Couldn't find Turck MMCache, eAccelerator, APC or XCache; cannot use these for object caching."
Yes, I did restart httpd, no joy.
There are number of occurrences of this issue in the IRC channel logs, but unfortunately the answers are difficult to find (if there are any). Google wasn't all that helpful just yet, so I figure to give this a shot. If anyone has any ideas at all, I would much appreciate some feedback. Thanks in advance.
eAccelerator caches php bytecode to speed its execution. The scripts don't need to do anything special about it, so if you have eAccelerator working, it will speed up MediaWiki even if MediaWiki is not aware of it.
MediaWiki detects eAccelerator in order to use it for caching its own data. That's the bit that is disabled if MediaWiki can't find it. The issue is, mediawiki detects it by checking for the existance of eaccelerator_get(). Since it would need to call that function in order to use it for caching, it can't use it if php doesn't recognise that function. What's the output of var_dump(function_exists('eaccelerator_get')); on a single php file?
If it works there, there's something scary for mediawiki not detecting it. If it reports the function doesn't exist, you should probably ask to eAccelerator guys about it.
MediaWiki-l mailing list MediaWiki-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
There's a bug (somewhere, too busy to look for it) about this issue. Something about eaccelerator being odd at times. I believe eaccelerator_get() is disabled by default as a result, IIRC.
-Chad
On Fri, Aug 28, 2009 at 11:26 AM, Chad innocentkiller@gmail.com wrote:
On Fri, Aug 28, 2009 at 3:13 PM, PlatonidesPlatonides@gmail.com wrote:
contact@64north.net wrote:
... MW shows: "Couldn't find Turck MMCache, eAccelerator, APC or XCache; cannot use these for object caching."
Yes, I did restart httpd, no joy.
There are number of occurrences of this issue in the IRC channel logs,
but
unfortunately the answers are difficult to find (if there are any). Google wasn't all that helpful just yet, so I figure to give this a
shot.
If anyone has any ideas at all, I would much appreciate some feedback. Thanks in advance.
eAccelerator caches php bytecode to speed its execution. The scripts don't need to do anything special about it, so if you have eAccelerator working, it will speed up MediaWiki even if MediaWiki is not aware of it.
MediaWiki detects eAccelerator in order to use it for caching its own data. That's the bit that is disabled if MediaWiki can't find it. The issue is, mediawiki detects it by checking for the existance of eaccelerator_get(). Since it would need to call that function in order to use it for caching, it can't use it if php doesn't recognise that function. What's the output of var_dump(function_exists('eaccelerator_get')); on a single php file?
If it works there, there's something scary for mediawiki not detecting it. If it reports the function doesn't exist, you should probably ask to eAccelerator guys about it.
There's a bug (somewhere, too busy to look for it) about this issue. Something about eaccelerator being odd at times. I believe eaccelerator_get() is disabled by default as a result, IIRC.
-Chad
Indeed, var_dump(function_exists('eaccelerator_get')); returns false(bool) so it appears to be disabled. I'll keep an eye out for the bug/bugfix. Thanks a lot for the clarification guys, much appreciated.
Cheers, Peter
From http://eaccelerator.net/ticket/37 These functions have been disabled by default. You should enable them with the configure command. Look at configure --help for the right options.
These functions
have been disabled because when leaving them on without any precautions
these
functions can be used for a local DoS attack by keep putting data in shared memory.
Having to enable them at configure time is not too user friendly, a configuration option at global php.ini would have been people preferable for people like Peter installing from packages.
It may be interesting to have the MediaWiki installer detect eAccelerator built without --with-eaccelerator-shared-memory to provide a more accurate message.
mediawiki-l@lists.wikimedia.org