Faq

markmadej edited this page Mar 17, 2015 · 1 revision

Frequently asked questions

Installation

(note: don't forget to read README file in your distribution)

  • I can't find the configure script, where is it?
There is no configure script, please read the README file (search 'phpize' keyword)
  • On freebsd, when I ./configure ![...], my box says 'ltconfig: you must specify a host type if you use --no-verify', eaccelerator can't compile ..
If you are using libtool 1.3
 ./configure --enable-eaccelerator=shared i386-unknown-freebsd5.3

If you are using 1.4, run configure directly

 ./configure --enable-eaccelerator
  • Php gives the following error when I load the eAccelerator extension: symbol lookup error: /usr/lib/php/modules/eaccelerator.so: undefined symbol: php_session_register_module
You didn't compile session support in php or eAccelerator is loaded before the session extension is loaded.

Another option is to disable the session support in eAccelerator by adding the following switch to configure:

 --without-eaccelerator-sessions
  • I've updated php and recompiled eAccelerator but I get this warning from php: PHP Warning: [eAccelerator] This build of "eAccelerator" was compiled for PHP version 5.0.3. Rebuild it for your PHP version (5.0.4) or download precompiled binaries.
You have to do 'make clean' before you do 'phpize' in the source directory.



  • I'm using linux 2.6 kernel and eAccelerator doesn't get loaded when the shm_size is set to value bigger than 32mb. Php gives this warning: PHP Warning: [eAccelerator] Can not create shared memory area in Unknown on line 0
The default shared memory size for the 2.6 kernel is 32mb. You can change this size by setting /proc/sys/kernel/shmmax to the disired maximum value. You can do this by echo VAL > /proc/sys/kernel/shmmax or add the line kernel.shmmax=VAL to /etc/sysctl.conf so you don't have to set it manualy every time you reboot.

If you are using VPS solution, make sure the share memory and socket buffers in VPS configuration are sufficient. For OpenVZ or similar type, you can check them by cat /proc/user_beancounter. In normal case all the fail count (failcnt) should be zero. You would need to ask your VPS provider to enlarge the barrier and limit value if you encountered any fail count increase once failed loading eaccelerator.

  • I'm using FreeBSD 8.0 x64 and whenever how much my shmmax is, PHP gives this warning: PHP Warning: [eAccelerator] Can not create shared memory area in Unknown on line 0
If you are FreeBSD 8.0 x64 and eAccelerator version is 0.9.6 or 0.9.6.1, try make with-eaccelerator-shared-memory=yes
  • Is eAccelerator working as expected when Zend Memory Manager is used?
Yes, eAccelerator has nothing to do with Zend Memory Manager
  • Is there a minimal kernel configuration to be able to use eAccelerator with shm?
Yes, you must check if "System V IPC" is enable in your kernel.

Usage

  • I'm always getting '0 cached scripts' when i call eaccelerator.php, all ini stuff seems to be ok
Please update your php.ini: eaccelerator.filter='``' --> eaccelerator.filter=""
  • Apache: How can i disable eaccelerator on a particular virtualhost?
Just put php_flag eaccelerator.enable 0 and php_flag eaccelerator.optimizer 0 in a .htaccess file in the document root of the virtualhost or directly inside apache section.
  • Is eAccelerator working with php-cgi or php-cli?
This is not yet supported and it won't be supported in the near future. However FastCGI is supported.