[horde] PHP-related errors in Horde after upgrading to Debian Jessie

Jens Grüntjes jens.gruentjes at ebira.de
Thu Oct 29 13:23:57 UTC 2015


Zitat von Michael J Rubinsky <mrubinsk at horde.org>:

> Quoting Jens Grüntjes <jens.gruentjes at ebira.de>:
>
>> Zitat von Michael J Rubinsky <mrubinsk at horde.org>:
>>
>>> Quoting Jens Grüntjes <jens.gruentjes at ebira.de>:
>>>
>>>> Zitat von Michael J Rubinsky <mrubinsk at horde.org>:
>>>>
>>>>> Quoting Jens Grüntjes <jens.gruentjes at ebira.de>:
>>>>>
>>>>>> Zitat von Jens Grüntjes <jens.gruentjes at ebira.de>:
>>>>>>
>>>>>>> Zitat von Michael J Rubinsky <mrubinsk at horde.org>:
>>>>>>>
>>>>>>>> Quoting Jens Grüntjes <jens.gruentjes at ebira.de>:
>>>>>>>>
>>>>>>>>> Hello list,
>>>>>>>>>
>>>>>>>>> after I upgraded my server to Debian Jessie I have problems  
>>>>>>>>> with horde. I'm quite sure this isn't a Horde bug but I'm  
>>>>>>>>> hoping that some of you experts have some hints for me.
>>>>>>>>>
>>>>>>>>> I'm having trouble when calling  
>>>>>>>>> https://mydomain.de/horde/services/portal
>>>>>>>>>
>>>>>>>>> The log show this stack trace
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2015-09-03T10:05:16+02:00 DEBUG: HORDE [kronolith]  
>>>>>>>>> Horde_Prefs: Storing preference value  
>>>>>>>>> (display_external_cals) [pid 1693 on line 532 of  
>>>>>>>>> "/var/www/horde/kronolith/lib/CalendarsManager.php"]
>>>>>>>>> 2015-09-03T10:05:16+02:00 DEBUG: HORDE [kronolith]  
>>>>>>>>> Horde_Prefs: Storing preference value (display_remote_cals)  
>>>>>>>>> [pid 1693 on line 615 of  
>>>>>>>>> "/var/www/horde/kronolith/lib/CalendarsManager.php"]
>>>>>>>>> 2015-09-03T10:05:16+02:00 DEBUG: HORDE [kronolith] PHP  
>>>>>>>>> ERROR: Non-static method Date_TimeZone::isValidID() should  
>>>>>>>>> not be called statically, assuming $this from incompatible  
>>>>>>>>> context [pid 1693 on line 4717 of  
>>>>>>>>> "/usr/share/php/Date/TimeZone.php"]
>>>>>>>>> 2015-09-03T10:05:16+02:00 DEBUG: HORDE  1.  
>>>>>>>>> Horde_Core_Block_Layout_View->toHtml()  
>>>>>>>>> /var/www/horde/services/portal/index.php:35
>>>>>>>>> 2. Horde_Core_Block->getContent()  
>>>>>>>>> /usr/share/php/Horde/Core/Block/Layout/View.php:98
>>>>>>>>> 3. Horde_Core_Block->_call() /usr/share/php/Horde/Core/Block.php:175
>>>>>>>>> 4. Kronolith_Block_Summary->_content()  
>>>>>>>>> /usr/share/php/Horde/Core/Block.php:278
>>>>>>>>> 5. Kronolith::listCalendars()  
>>>>>>>>> /var/www/horde/kronolith/lib/Block/Summary.php:95
>>>>>>>>> 6. Kronolith_CalendarsManager->get()  
>>>>>>>>> /var/www/horde/kronolith/lib/Kronolith.php:1109
>>>>>>>>> 7. Kronolith_CalendarsManager->_getAllHolidays()  
>>>>>>>>> /var/www/horde/kronolith/lib/CalendarsManager.php:201
>>>>>>>>> 8. class_exists()  
>>>>>>>>> /var/www/horde/kronolith/lib/CalendarsManager.php:546
>>>>>>>>> 9. spl_autoload_call()
>>>>>>>>> 10. Horde_Autoloader_Cache->loadClass()
>>>>>>>>> 11. Horde_Autoloader->loadClass()  
>>>>>>>>> /usr/share/php/Horde/Autoloader/Cache.php:126
>>>>>>>>> 12. Horde_Autoloader->_include()  
>>>>>>>>> /usr/share/php/Horde/Autoloader.php:65
>>>>>>>>> 13. include() /usr/share/php/Horde/Autoloader.php:128
>>>>>>>>> 14. require_once() /usr/share/php/Date/Holidays.php:39
>>>>>>>>> 15. require_once() /usr/share/php/Date.php:55
>>>>>>>>> 16. Horde_ErrorHandler::errorHandler()  
>>>>>>>>> /usr/share/php/Date/TimeZone.php:4717
>>>>>>>>>
>>>>>>>>> 2015-09-03T10:05:16+02:00 DEBUG: HORDE [kronolith] PHP  
>>>>>>>>> ERROR: Non-static method Date_TimeZone::setDefault() should  
>>>>>>>>> not be called statically, assuming $this from incompatible  
>>>>>>>>> context [pid 1693 on line 4718 of  
>>>>>>>>> "/usr/share/php/Date/TimeZone.php"]
>>>>>>>>> 2015-09-03T10:05:16+02:00 DEBUG: HORDE  1.  
>>>>>>>>> Horde_Core_Block_Layout_View->toHtml()  
>>>>>>>>> /var/www/horde/services/portal/index.php:35
>>>>>>>>> 2. Horde_Core_Block->getContent()  
>>>>>>>>> /usr/share/php/Horde/Core/Block/Layout/View.php:98
>>>>>>>>> 3. Horde_Core_Block->_call() /usr/share/php/Horde/Core/Block.php:175
>>>>>>>>> 4. Kronolith_Block_Summary->_content()  
>>>>>>>>> /usr/share/php/Horde/Core/Block.php:278
>>>>>>>>> 5. Kronolith::listCalendars()  
>>>>>>>>> /var/www/horde/kronolith/lib/Block/Summary.php:95
>>>>>>>>> 6. Kronolith_CalendarsManager->get()  
>>>>>>>>> /var/www/horde/kronolith/lib/Kronolith.php:1109
>>>>>>>>> 7. Kronolith_CalendarsManager->_getAllHolidays()  
>>>>>>>>> /var/www/horde/kronolith/lib/CalendarsManager.php:201
>>>>>>>>> 8. class_exists()  
>>>>>>>>> /var/www/horde/kronolith/lib/CalendarsManager.php:546
>>>>>>>>> 9. spl_autoload_call()
>>>>>>>>> 10. Horde_Autoloader_Cache->loadClass()
>>>>>>>>> 11. Horde_Autoloader->loadClass()  
>>>>>>>>> /usr/share/php/Horde/Autoloader/Cache.php:126
>>>>>>>>> 12. Horde_Autoloader->_include()  
>>>>>>>>> /usr/share/php/Horde/Autoloader.php:65
>>>>>>>>> 13. include() /usr/share/php/Horde/Autoloader.php:128
>>>>>>>>> 14. require_once() /usr/share/php/Date/Holidays.php:39
>>>>>>>>> 15. require_once() /usr/share/php/Date.php:55
>>>>>>>>> 16. Horde_ErrorHandler::errorHandler()  
>>>>>>>>> /usr/share/php/Date/TimeZone.php:4718
>>>>>>>>>
>>>>>>>>> 2015-09-03T10:05:16+02:00 DEBUG: HORDE [kronolith] PHP  
>>>>>>>>> ERROR: Non-static method Date_TimeZone::isValidID() should  
>>>>>>>>> not be called statically, assuming $this from incompatible  
>>>>>>>>> context [pid 1693 on line 192 of  
>>>>>>>>> "/usr/share/php/Date/TimeZone.php"]
>>>>>>>>> 2015-09-03T10:05:16+02:00 DEBUG: HORDE  1.  
>>>>>>>>> Horde_Core_Block_Layout_View->toHtml()  
>>>>>>>>> /var/www/horde/services/portal/index.php:35
>>>>>>>>> 2. Horde_Core_Block->getContent()  
>>>>>>>>> /usr/share/php/Horde/Core/Block/Layout/View.php:98
>>>>>>>>> 3. Horde_Core_Block->_call() /usr/share/php/Horde/Core/Block.php:175
>>>>>>>>> 4. Kronolith_Block_Summary->_content()  
>>>>>>>>> /usr/share/php/Horde/Core/Block.php:278
>>>>>>>>> 5. Kronolith::listCalendars()  
>>>>>>>>> /var/www/horde/kronolith/lib/Block/Summary.php:95
>>>>>>>>> 6. Kronolith_CalendarsManager->get()  
>>>>>>>>> /var/www/horde/kronolith/lib/Kronolith.php:1109
>>>>>>>>> 7. Kronolith_CalendarsManager->_getAllHolidays()  
>>>>>>>>> /var/www/horde/kronolith/lib/CalendarsManager.php:201
>>>>>>>>> 8. class_exists()  
>>>>>>>>> /var/www/horde/kronolith/lib/CalendarsManager.php:546
>>>>>>>>> 9. spl_autoload_call()
>>>>>>>>> 10. Horde_Autoloader_Cache->loadClass()
>>>>>>>>> 11. Horde_Autoloader->loadClass()  
>>>>>>>>> /usr/share/php/Horde/Autoloader/Cache.php:126
>>>>>>>>> 12. Horde_Autoloader->_include()  
>>>>>>>>> /usr/share/php/Horde/Autoloader.php:65
>>>>>>>>> 13. include() /usr/share/php/Horde/Autoloader.php:128
>>>>>>>>> 14. require_once() /usr/share/php/Date/Holidays.php:39
>>>>>>>>> 15. require_once() /usr/share/php/Date.php:55
>>>>>>>>> 16. Date_TimeZone->setDefault() /usr/share/php/Date/TimeZone.php:4718
>>>>>>>>> 17. Horde_ErrorHandler::errorHandler()  
>>>>>>>>> /usr/share/php/Date/TimeZone.php:192
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> It goes on with a some more lines like these.
>>>>>>>>>
>>>>>>>>> The browser displays only "500 - Internal Server Error".  
>>>>>>>>> When I manually enter in the browser  
>>>>>>>>> https://mydomain.de/horde/imp I can read and write mails as  
>>>>>>>>> usual.
>>>>>>>>>
>>>>>>>>> Has anyone a hint for me what is going wrong in my setup? Or  
>>>>>>>>> do you need further information? I'm running the latest pear  
>>>>>>>>> packages of horde. PHP Version is:
>>>>>>>>>
>>>>>>>>> boromir /var/www/horde/config # php -v
>>>>>>>>> PHP 5.6.12-0+deb8u1 (cli) (built: Aug 26 2015 12:23:30)
>>>>>>>>> Copyright (c) 1997-2015 The PHP Group
>>>>>>>>> Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
>>>>>>>>> with XCache v3.2.0, Copyright (c) 2005-2014, by mOo
>>>>>>>>> with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by  
>>>>>>>>> Zend Technologies
>>>>>>>>> with Xdebug v2.2.5, Copyright (c) 2002-2014, by Derick Rethans
>>>>>>>>> with XCache Optimizer v3.2.0, Copyright (c) 2005-2014, by mOo
>>>>>>>>> with XCache Cacher v3.2.0, Copyright (c) 2005-2014, by mOo
>>>>>>>>> with XCache Coverager v3.2.0, Copyright (c) 2005-2014, by mOo
>>>>>>>>>
>>>>>>>>> The webserver is lighttpd:
>>>>>>>>> boromir /var/www/horde/config # lighttpd -v
>>>>>>>>> lighttpd/1.4.35 (ssl) - a light and fast webserver
>>>>>>>>> Build-Date: Nov  2 2014 03:43:48
>>>>>>>>
>>>>>>>> Try removing the PEAR Date_Holiday package. It has a  
>>>>>>>> dependency on PEAR Date package, which is unmaintained, and  
>>>>>>>> is the source of the errors you list.
>>>>>>>
>>>>>>> Thanks for the quick reply. I uninstalled the packages  
>>>>>>> Date_Holidays and all related packages (Date_Holidays_German,  
>>>>>>> ...). If I got yout point the actual reason for the errors ist  
>>>>>>> the Date package which I also uninstalled. Then I receive the  
>>>>>>> following error in the log (and similar in the browser window):
>>>>>>>
>>>>>>> 2015-09-03T18:09:33+02:00 EMERG: HORDE [kronolith] Class  
>>>>>>> 'Date_Calc' not found [pid 1367 on line 115 of  
>>>>>>> "/var/www/horde/kronolith/lib/Day.php"]
>>>>>>> 2015-09-03T18:09:33+02:00 DEBUG: HORDE 1.  
>>>>>>> Horde_ErrorHandler::catchFatalError()
>>>>>>>
>>>>>>> Maybe I was wrong with uninstalling the Date package so I  
>>>>>>> reinstalled it. Then I get the previously mentionend "500 -  
>>>>>>> Internal Server Error". The log shows:
>>>>>>>
>>>>>>> 2015-09-03T18:19:02+02:00 DEBUG: HORDE [kronolith] PHP ERROR:  
>>>>>>> Non-static method Date_Calc::dateDiff() should not be called  
>>>>>>> statically, assuming $this from incompatible context [pid 1372  
>>>>>>> on line 115 of "/var/www/horde/kronolith/lib/Day.php"]
>>>>>>> 2015-09-03T18:19:02+02:00 DEBUG: HORDE 1.  
>>>>>>> Horde_Core_Block_Layout_View->toHtml()  
>>>>>>> /var/www/horde/services/portal/index.php:35
>>>>>>> 2. Horde_Core_Block->getContent()  
>>>>>>> /usr/share/php/Horde/Core/Block/Layout/View.php:98
>>>>>>> 3. Horde_Core_Block->_call() /usr/share/php/Horde/Core/Block.php:175
>>>>>>> 4. Kronolith_Block_Summary->_content()  
>>>>>>> /usr/share/php/Horde/Core/Block.php:278
>>>>>>> 5. Kronolith_Day->diff()  
>>>>>>> /var/www/horde/kronolith/lib/Block/Summary.php:157
>>>>>>> 6. Horde_ErrorHandler::errorHandler()  
>>>>>>> /var/www/horde/kronolith/lib/Day.php:115
>>>>>>>
>>>>>>> 2015-09-03T18:19:02+02:00 DEBUG: HORDE [kronolith] PHP ERROR:  
>>>>>>> Non-static method Date_Calc::isValidDate() should not be  
>>>>>>> called statically, assuming $this from incompatible context  
>>>>>>> [pid 1372 on line 2061 of "/usr/share/php/Date/Calc.php"]
>>>>>>> 2015-09-03T18:19:02+02:00 DEBUG: HORDE 1.  
>>>>>>> Horde_Core_Block_Layout_View->toHtml()  
>>>>>>> /var/www/horde/services/portal/index.php:35
>>>>>>> 2. Horde_Core_Block->getContent()  
>>>>>>> /usr/share/php/Horde/Core/Block/Layout/View.php:98
>>>>>>> 3. Horde_Core_Block->_call() /usr/share/php/Horde/Core/Block.php:175
>>>>>>> 4. Kronolith_Block_Summary->_content()  
>>>>>>> /usr/share/php/Horde/Core/Block.php:278
>>>>>>> 5. Kronolith_Day->diff()  
>>>>>>> /var/www/horde/kronolith/lib/Block/Summary.php:157
>>>>>>> 6. Date_Calc->dateDiff() /var/www/horde/kronolith/lib/Day.php:116
>>>>>>> 7. Horde_ErrorHandler::errorHandler() /usr/share/php/Date/Calc.php:2061
>>>>>>>
>>>>>>> 2015-09-03T18:19:02+02:00 DEBUG: HORDE [kronolith] PHP ERROR:  
>>>>>>> Non-static method Date_Calc::isValidDate() should not be  
>>>>>>> called statically, assuming $this from incompatible context  
>>>>>>> [pid 1372 on line 2064 of "/usr/share/php/Date/Calc.php"]
>>>>>>> 2015-09-03T18:19:02+02:00 DEBUG: HORDE 1.  
>>>>>>> Horde_Core_Block_Layout_View->toHtml()  
>>>>>>> /var/www/horde/services/portal/index.php:35
>>>>>>> 2. Horde_Core_Block->getContent()  
>>>>>>> /usr/share/php/Horde/Core/Block/Layout/View.php:98
>>>>>>> 3. Horde_Core_Block->_call() /usr/share/php/Horde/Core/Block.php:175
>>>>>>> 4. Kronolith_Block_Summary->_content()  
>>>>>>> /usr/share/php/Horde/Core/Block.php:278
>>>>>>> 5. Kronolith_Day->diff()  
>>>>>>> /var/www/horde/kronolith/lib/Block/Summary.php:157
>>>>>>> 6. Date_Calc->dateDiff() /var/www/horde/kronolith/lib/Day.php:116
>>>>>>> 7. Horde_ErrorHandler::errorHandler() /usr/share/php/Date/Calc.php:2064
>>>>>>>
>>>>>>> So it's a different error but the same result. Have you any more hints?
>>>>>>>
>>>>>>> Greetings
>>>>>>> Jens
>>>>>>
>>>>>> Instead fo fixing the error I could maybe change the  
>>>>>> error_reporting level for PHP. Unfortunately I cannot see the  
>>>>>> horde config page because it raises similar errors. Can I set  
>>>>>> it to
>>>>>>
>>>>>> error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
>>>>>>
>>>>>> manually in one of horde's config files?
>>>>>
>>>>> horde/config/conf.php - 'debug_level'
>>>>
>>>> I just found the time to take care of that annoying bug in my  
>>>> installation. I set the error_reporting to the values above in  
>>>> conf.php but nothing changed regarding my bug.
>>>>
>>>> So I checked the value for "error_reporting" in the  
>>>> phpinfo()-screen which I called from Horde's test.php. The "Local  
>>>> value" is 32767 (which I think is E_ALL) and the "Master value"  
>>>> is 22527 (which I think is E_ALL & ~E_DEPRECATED & ~E_STRICT).
>>>>
>>>> When I call phpinfo() from a php-file outside of Horde both the  
>>>> Local and the Master value are at 22527.
>
> Then this is what the php.ini file in use is set to.
>
That is what I expected.
>>>> When I call phpinfo() in the Horde PHP Shell I get a Local value  
>>>> of 30711 (which I think is E_ALL & ~E_STRICT & ~E_NOTICE). The  
>>>> Master value is again 22527.
>
> Yes, the value in conf.php is used to set this when Horde is  
> initialized. Hence, this is the "local" value. This matches what you  
> say you set 'debug_level' to.
Okay, that matches my config.
>
>>>> Now I'm very confused where these different values come from or  
>>>> where I probably defined them. In /etc/php5/cgi/php.ini I set  
>>>> error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT. Are there  
>>>> other places where I should have a look?
>
> What ever you want the value to be inside Horde, you need to set in conf.php.
>
Okay, I understand. But I don't understand why the Local value  
according to phpinfo() from the test.php is 32767.

With my settings I wonder if the errors like the one below can make  
Horde crash?

2015-10-28T20:49:19+01:00 DEBUG: HORDE [kronolith] PHP ERROR:  
Non-static method Date_Calc::dateToDays() should not be c
alled statically, assuming $this from incompatible context [pid 12311  
on line 4045 of "/usr/share/php/Date/Calc.php"]
2015-10-28T20:49:19+01:00 DEBUG: HORDE  1.  
Horde_Core_Ajax_Application->send() /var/www/horde/services/ajax.php:70

I'm getting frequent php-cgi-segfaults whenever this happens.

>>>> Any help is greatly appreciated.
>>>
>>>
>>> horde/config/conf.php - 'debug_level'
>>
>> Mike, you told me that a while ago and I did make the entry in  
>> horde/config/conf.php. The line looks like this:
>>
>> $conf['debug_level'] = E_ALL & ~E_NOTICE & ~E_STRICT;
>>
>> I wonder why the Local value in both cases (phpinfo() from test.php  
>> and from Horde PHP shell) is different.
>>
>> --
>> Greetings
>> Jens
>>
>> -- 
>> Horde mailing list
>> Frequently Asked Questions: http://horde.org/faq/
>> To unsubscribe, mail: horde-unsubscribe at lists.horde.org





More information about the horde mailing list