Internal Server Error 500 with XSLT transforms in PHP loaded as CGI in Apache1.3
Posted on 2003-02-24
!--- problem ---!
I have an application that has been running well when on a machine that has php installed as a module with Apache 1.3. When testing the installation of the application we installed php on a new machine running as a CGI. now when you log in the page return is a "Internal Server Error 500" error page.
!--- handy notes about system ---!
the system is using Sessions for user details, XML & XSLT processing through sablot. Now I have tested the XML and XSLT individually and they seem fine. Also the system works perfectly when running on the development machine (loaded as module) also we are compressing the output with gz before sending to the client.
I have tracked down the error to be in the transformation function that takes the XML and XSL and produces the XHTML output
$arguments = array(
'/_xml' => $this->xml_page,
'/_xsl' => $this->xsl_page
// Allocate a new XSLT processor
$xh = xslt_create();
// Process the document
$msg = xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, $arguments);
!--- Apache Error Log Msg-->
[Mon Feb 24 16:46:06 2003] [error] [client 192.168.0.124] Premature end of script headers: /apache/php/php.exe
The above line is the only real error msg in the error.log file and I believe that this will be the key to under standing what is going on in the system.