hi all,
this is an ea-only-when-using-zend-framework issue ... but Bart points out that eA should be 'transparent'.
so posting this issue here. fyi, it's also posted as Ticket#117 @ zend trac (http://framework.zend.com/developer/ticket/117) ...
i've eA installed with ZendFramework (ZF) r566 installed on OSX 10.4.6 w/:
Apache/2.2.3-dev + APR 1.2.8-dev + APR-Util 1.2.8-dev (r410377)
32-bit, mpm=worker, threaded, forked
PHP Version => 5.2.0-dev
configure ... --with-tsrm-pthreads --enable-maintainer-zts ...
Debug Build => no
Thread Safety => enabled
eAccelerator v0.9.5-beta2 (r212)
php.ini
...
session.save_handler = files
zend_extension_ts="/usr/local/php_libs/ext/no-debug-zts/eaccelerator.so"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.sessions="shm"
...
and per prior discuss on ZF list, my vhost config is:
<VirtualHost zend.mydomain.com:80>
ServerName zend.mydomain.com
ServerRoot /webapps/
DocumentRoot /webapps/zend.mydomain.com/document_root
RewriteEngine off
<Location / >
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(js|ico|gif|jpg|png|css)$ /index.php
Options FollowSymLinks Includes ExecCGI MultiViews
</Location>
RewriteLogLevel 9
RewriteLog /var/log/modrewrite.log
</VirtualHost>
with the above config, all's well.
if, however i:
--- session.save_handler = files
+++ session.save_handler = eaccelerator
all non-ZF-controller'd sites work perfectly, with eA as the session
save_handler.
but, the ZF site now pegs CPU to 100%, paints NO output, and eventually
kills off the Apache thread with a BusError:
apache log:
[Mon Jun 05 09:57:20 2006] [notice] child pid 24933 exit signal Bus
error (10)
the only other log activity i have at the moment is in modrewrite debug log.
modrewrite.log, w/ "session.save_handler = eaccelerator":
10.0.0.6 - - [05/Jun/2006:09:56:57 --0700]
[zend.mydomain.com/sid#191d6b8][rid#19c2450/initial] (3) [perdir /]
strip per-dir prefix: /webapps/zend.mydomain.com/document_root/ ->
webapps/zend.mydomain.com/document_root/
10.0.0.6 - - [05/Jun/2006:09:56:57 --0700]
[zend.mydomain.com/sid#191d6b8][rid#19c2450/initial] (3) [perdir /]
applying pattern '\.(js|ico|gif|jpg|png|css)$' to uri
'webapps/zend.mydomain.com/document_root/'
10.0.0.6 - - [05/Jun/2006:09:56:57 --0700]
[zend.mydomain.com/sid#191d6b8][rid#19c2450/initial] (4) [perdir /]
RewriteCond: input='/webapps/zend.mydomain.com/document_root/'
pattern='!-f' => matched
10.0.0.6 - - [05/Jun/2006:09:56:57 --0700]
[zend.mydomain.com/sid#191d6b8][rid#19c2450/initial] (4) [perdir /]
RewriteCond: input='/webapps/zend.mydomain.com/document_root/'
pattern='!-d' => not-matched
10.0.0.6 - - [05/Jun/2006:09:56:57 --0700]
[zend.mydomain.com/sid#191d6b8][rid#19c2450/initial] (1) [perdir /] pass
through /webapps/zend.mydomain.com/document_root/
10.0.0.6 - - [05/Jun/2006:09:56:57 --0700]
[zend.mydomain.com/sid#191d6b8][rid#19c8450/subreq] (3) [perdir /] strip
per-dir prefix: /webapps/zend.mydomain.com/document_root/index.php ->
webapps/zend.mydomain.com/document_root/index.php
10.0.0.6 - - [05/Jun/2006:09:56:57 --0700]
[zend.mydomain.com/sid#191d6b8][rid#19c8450/subreq] (3) [perdir /]
applying pattern '\.(js|ico|gif|jpg|png|css)$' to uri
'webapps/zend.mydomain.com/document_root/index.php'
10.0.0.6 - - [05/Jun/2006:09:56:57 --0700]
[zend.mydomain.com/sid#191d6b8][rid#19c8450/subreq] (4) [perdir /]
RewriteCond: input='/webapps/zend.mydomain.com/document_root/index.php'
pattern='!-f' => not-matched
10.0.0.6 - - [05/Jun/2006:09:56:57 --0700]
[zend.mydomain.com/sid#191d6b8][rid#19c8450/subreq] (1) [perdir /] pass
through /webapps/zend.mydomain.com/document_root/index.php
modrewrite.log, w/ "session.save_handler = files":
10.0.0.6 - - [05/Jun/2006:10:17:04 --0700]
[zend.mydomain.com/sid#18b5eb8][rid#19c3050/initial] (3) [perdir /]
strip per-dir prefix: /webapps/zend.mydomain.com/document_root/ ->
webapps/zend.mydomain.com/document_root/
10.0.0.6 - - [05/Jun/2006:10:17:04 --0700]
[zend.mydomain.com/sid#18b5eb8][rid#19c3050/initial] (3) [perdir /]
applying pattern '\.(js|ico|gif|jpg|png|css)$' to uri
'webapps/zend.mydomain.com/document_root/'
10.0.0.6 - - [05/Jun/2006:10:17:04 --0700]
[zend.mydomain.com/sid#18b5eb8][rid#19c3050/initial] (4) [perdir /]
RewriteCond: input='/webapps/zend.mydomain.com/document_root/'
pattern='!-f' => matched
10.0.0.6 - - [05/Jun/2006:10:17:04 --0700]
[zend.mydomain.com/sid#18b5eb8][rid#19c3050/initial] (4) [perdir /]
RewriteCond: input='/webapps/zend.mydomain.com/document_root/'
pattern='!-d' => not-matched
10.0.0.6 - - [05/Jun/2006:10:17:04 --0700]
[zend.mydomain.com/sid#18b5eb8][rid#19c3050/initial] (1) [perdir /] pass
through /webapps/zend.mydomain.com/document_root/
10.0.0.6 - - [05/Jun/2006:10:17:04 --0700]
[zend.mydomain.com/sid#18b5eb8][rid#19c9050/subreq] (3) [perdir /] strip
per-dir prefix: /webapps/zend.mydomain.com/document_root/index.php ->
webapps/zend.mydomain.com/document_root/index.php
10.0.0.6 - - [05/Jun/2006:10:17:04 --0700]
[zend.mydomain.com/sid#18b5eb8][rid#19c9050/subreq] (3) [perdir /]
applying pattern '\.(js|ico|gif|jpg|png|css)$' to uri
'webapps/zend.mydomain.com/document_root/index.php'
10.0.0.6 - - [05/Jun/2006:10:17:04 --0700]
[zend.mydomain.com/sid#18b5eb8][rid#19c9050/subreq] (4) [perdir /]
RewriteCond: input='/webapps/zend.mydomain.com/document_root/index.php'
pattern='!-f' => not-matched
10.0.0.6 - - [05/Jun/2006:10:17:04 --0700]
[zend.mydomain.com/sid#18b5eb8][rid#19c9050/subreq] (1) [perdir /] pass
through /webapps/zend.mydomain.com/document_root/index.php
to my eye, there's no difference here ...
again, the only scenario that 'fails' is a ZF site w/
session.save_handler = eaccelerator.
richard