[horde] WSOD with Debian Install of Horde 5.0.4 Groupware Webmail

Andy Dorman adorman at ironicdesign.com
Thu May 2 21:33:36 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.



More information about the horde mailing list