Last modified: 2010-05-15 15:42:44 UTC
My hosts have upgrade the PHP and zend optimizer and now wiki does not work, it reports http 502 error, the hosts say that itβs a bug that needs to be fixed between Zend and Mediapedia Regards Martyn
Version information for MediaWiki, the web server software in use, PHP and the Zend Optimiser extension would be useful here.
Sorry for the sparse information provided by myself, I'm good at that so please yell in you need more Windows 2003 IIS PHP5 This program makes use of the Zend Scripting Language Engine: Zend Engine v2.2.0, Copyright (c) 1998-2006 Zend Technologies with Zend Extension Manager v1.0.11, Copyright (c) 2003-2006, by Zend Technologies with Zend Optimizer v3.2.0, Copyright (c) 1998-2006, by Zend Technologies == MediaWiki 1.8.2 == Hope that covers all Martyn
Which version of PHP 5? (e.g. PHP 5.1.6) (Problem seems to occur on any page view or index.php access; confirmed it's IIS emitting an HTTP 502 "Bad Gateway" error.)
PHP 5.2.0 Problem is every View Just had a guy on the hosts support forums supply the following information which I have not tried as yet @line 2002 of ./includes/GlobalFunctions.php. The debug_backtrace() function usually works, and is called in the script numerous times before the time it breaks. So, it looks like this is a strange IIS PHP 5.2 issue then. You can of course stop the function being called at the point it breaks and be able to view the pages, but what side-effects there are I wouldn't know. Then he said try this Amend the wfGetCaller function in ./includes/GlobalFunctions.php line 2001 to function wfGetCaller( $level = 2 ) { /** * Removed due to bug causing 502 on some occasions: ** / $backtrace = debug_backtrace(); /** * And replaced by: **/ $backtrace = new Exception(); $backtrace = $backtrace->getTrace(); /* End Fix */ if ( isset( $backtrace[$level] ) ) { if ( isset( $backtrace[$level]['class'] ) ) { $caller = $backtrace[$level]['class'] . '::' . $backtrace[$level] ['function']; } else { $caller = $backtrace[$level]['function']; } } else { $caller = 'unknown'; } return $caller; } obviously this breaks php4 compatibility he goes onto say
I can confirm that the above does fix the fault, but unsure if it will break anything else
Obviously you should report this problem to Zend.
The debug_backtrace thing is something I saw with my host, too, who claimed that they didn't change anything. I entered a bug here (http://bugzilla.wikimedia.org/show_bug.cgi?id=8041) just in case it helped someone else. I imagine that issue is the same as that listed here.
(In reply to comment #7) > The debug_backtrace thing is something I saw with my host, too, who claimed that > they didn't change anything. I entered a bug here > (http://bugzilla.wikimedia.org/show_bug.cgi?id=8041) just in case it helped > someone else. I imagine that issue is the same as that listed here. sorry - forgot to mention - I saw it happen on a linux box with apache
(In reply to comment #6) > Obviously you should report this problem to Zend. Obviously I did, but I was not sure where the fault was
This was probably the issue worked around w/ bug 8041; resolving as dupe. Reopen if problem continues. *** This bug has been marked as a duplicate of 8041 ***