[horde] WSOD with Debian Install of Horde 5.0.4 Groupware Webmail, followup
Andy Dorman
adorman at ironicdesign.com
Thu May 2 22:00:51 UTC 2013
We love and have been using older versions of Horde/Imp for years using
Apache, mod-fcgid & suexec...so we are pretty familiar with it in
general, although PHP is NOT our primary language (we have been doing
mostly Perl for close to 20 years)
We have to manage a large number of servers, so we try to stick with
Debian packages (testing & unstable) to keep thing simple if we can.
That is why we are not using PEAR to do our install.
We are trying to set up the Debian package for Horde 5.0.4 Groupware
Webmail on our test server. We have set up the db, Apache virtual host
and run webmail-install (which appeared to run just fine with no
errors). But now, for the last 6 - 8 hours, we have been banging our
heads up against the most maddening WSOD when we try to run either
index.php or test.php
Debian installs the horde php code into /usr/share/horde with
horde/config a symlink -> /etc/horde/horde. We have set up the Apache
virtual host with "DocumentRoot /usr/share/horde/". We know (or at
least we think we know) that the web server virtual host config is not
the issue because we added a phpinfo.php page to our DocumentRoot and
that displays just fine.
When we access /phpinfo.php the error_reporting is 32767 (E_ALL |
E_STRICT) and display_errors & display_startup_errors are "On".
However, when we pull up /test.php (/etc/horde/horde/conf.php has
$conf['testdisable'] = false; ) OR just /, we get the WSOD.
The really annoying thing is there are no php errors in the Apache or
syslogs either, even though we have set /etc/php5/cgi/php.ini to log to
syslog.
We added a bunch of "echo '<p>I am here.</p>';" type statements in both
test.php and index.php and both scripts seem to be failing at the same
point....it is not returning from the call to "Horde_Registry::appInit..."
For example, in test.php with the echo lines below...
try {
echo '<p>setting appInit array.</p>';
Horde_Registry::appInit('horde', array(
'authentication' => 'none',
'test' => true
));
echo '<p>finished setting appInit array.</p>';
$init_exception = null;
} catch (Exception $e) {
define('HORDE_TEMPLATES', __DIR__ . '/templates');
echo '<p>catching error.</p>';
$init_exception = $e;
}
echo '<p>app init done.</p>';
we see "setting appInit array." and then nothing else.
FWIW, we confirmed that __DIR__ is indeed "/usr/share/horde".
In index.php we did the same thing with echo statements and again, it is
never returning from
Horde_Registry::appInit('horde', array(
'authentication' => 'none',
'nologintasks' => true
));
And the REALLY silly thing that is making us feel like real "newbies"
(as if all the above was not enough) is that we can not find where
Horde_Registry::appInit is defined so we can instrument it. Of course,
that my be the real problem here. The call to Horde_Registry::appInit
is everywhere, but no where can we find it in the code in /usr/share/horde/.
So we would be thrilled if anyone has any thoughts about what else we
should look into. We are pretty sure we are going to feel like real
idiots when we finally figure this one out.
Thanks for your patience,
--
Andy Dorman
Ironic Design, Inc.
=== followup ===
OK, this just keeps getting weirder...but we are closing in on it...we
are just not sure what "it" is...
It finally occurred to us to try running test.php from the command line
and here is what we got (with all our little "echo" statement in there)...
> server:/usr/share/horde# php ./test.php
> <html>
> <head>
> <title>PHP Test page</title>
> </head>
> <body>
> <p>Hello Test Page 1</p>
> my base directory is /usr/share/horde</body>
> </html>
> <p>starting to check.</p><p>looking for autoloader.</p><p>looking for registry.</p><p>Application.php required.</p><p>setting appInit array.</p>PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 49152 bytes) in /etc/horde/horde/conf.php on line 86
>
> Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 49152 bytes) in /etc/horde/horde/conf.php on line 86
We have set up cli/php.ini with a memory limit of 128M. This should NOT
be pushing that limit, right?
We can easily bump the limit up if needed, but I hope we do not need to.
More information about the horde
mailing list