ID: 24634 Comment by: mario at xtras dot de Reported By: cw at centerwave dot de Status: Open Bug Type: XSLT related Operating System: Windows 2000, WindowsXP PHP Version: 5CVS-2003-07-13 (dev) New Comment:
This issue still applies and also for transformtodoc in Beta 1 through the build of CVS WIN32 Built On: Aug 07, 2003 10:30 GMT. Same random crashes when the two functions are called on the same page repeatedly. Sometimes after 2 reloads, sometimes 10. It also appears to depend on the size of the XSL file, the XML file does not seem to matter. Previous Comments: ------------------------------------------------------------------------ [2003-07-13 10:59:15] cw at centerwave dot de Please note that the 2nd example still includes the old functionnames (which worked with beta1). I certainly changed them to work with snapsshots. ------------------------------------------------------------------------ [2003-07-13 10:48:50] cw at centerwave dot de Description: ------------ PHP (and Apache) crashes after running the importstylesheet()-function on an domdocument serveral times (means serveral reloads of the same script, not use of this function serveral times in the same script). If the XSL-input is large (> 50kb) PHP crashes after 3-5 site reloads. If the XSL-input is small it seems that PHP crashes after 10-20 site reloads. The very strange thing is that it renders the page with the *same* XSL/XML-input serveral times without problems before crashing after a certain amount of realods. It seems not to be important what XSL-ruleset is used. I tested serveral xsl-inputs and it always died. It crashes just on Windows (Apache and Apache 2). I used the libxml that came with PHP as well as the latest from xmlsoft.org. There are no problems under Linux. Reproduce code: --------------- Example 1: $output is the XML-string (sorry this is very long so I can't post it, but the xml-string is not import to reproduce to error, as well as the XSL-string isn't) $processor = new xsltprocessor(); $xml = new domdocument(); $xsl = new domdocument(); $xsl_filecontent = file_get_contents($_SERVER["DOCUMENT_ROOT"] . "/evolution/gui/" . $passport->get_design("current") . "/html.xsl"); $xsl->loadxml($xsl_filecontent); $xml->loadxml($output); $processor->importstylesheet($xsl); print ($processor->transformtoxml($xml)); Example 2: It also crashes when using the example at http://news.php.net/article.php?group=php.xml.dev&article=148 Expected result: ---------------- transformed xml output Actual result: -------------- Sorry I can't give you a backtrace with my windows-system. I can just tell you that the last call goes to libxml2.dll. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=24634&edit=1