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

Jens Grüntjes jens.gruentjes at ebira.de
Thu Oct 29 14:12:13 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 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.
>
> Probably because test.php doesn't initialize the full Horde  
> environment, just enough to test the dependencies whereas the  
> phpshell is running in the scope of a fully initialized Horde  
> environment.
>
>
>> With my settings I wonder if the errors like the one below can make  
>> Horde crash?
>
> Why don't you put the ~E_DEPRECATED in conf.php as well?
Thanks for the hint, now the errors are gone from Horde's log. But  
nevertheless I get an error "500 - Internal Server Error" in my  
browser like before. Is this error likely to be triggered by the  
webserver? Then I would have to look at lighty's error logs instead  
(Hope I find any).
>
>>
>> 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
>>
>>
>>
>> -- 
>> 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