ID: 47833 Updated by: j...@php.net Reported By: getmequick at gmail dot com -Status: Open +Status: Feedback Bug Type: DOM XML related Operating System: Windows XP PHP Version: 5.2.9 New Comment:
Please try using this CVS snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows: http://windows.php.net/snapshots/ Previous Comments: ------------------------------------------------------------------------ [2009-03-29 20:41:54] getmequick at gmail dot com Description: ------------ I'm running latest PHP 5.2.9.1 on Win XP machine with apache 2.0 on it I have 1GB free RAM (of 2GB) here's the issue, I load huge xml file (8MB) that has namespace defined in it and try query with xpath, it ends with timeout error strangely, when I move namespace definition out, it works. also, if I reduce filesize to say 1KB it also works (with namespace defined) summary: - Doesn't work when xml has a namespace defined and filesize is huge (~8MB tested) - Works when filesize is tiny and has a namespace. - Works when filesize is huge and no namespace defined. Reproduce code: --------------- test.xml ------------------ <?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.google.com/schemas/sitemap/0.84"> <url> <loc>..</loc> </url> <url> <loc>..</loc> </url> <url> <loc>..</loc> </url> </urlset> test.php ------------------ <?php ini_set('display_errors', true); ini_set('error_reporting', E_ALL); $dom = DomDocument::load('test.xml'); $xpath = new DomXPath($dom); $ns = ''; if ($dom->documentElement && $dom->documentElement->namespaceURI) { $xpath->registerNamespace('ns', $dom->documentElement->namespaceURI); $ns = 'ns:'; } $locUrls = $xpath->query("//{$ns}loc"); var_dump($locUrls); ?> Expected result: ---------------- Nodelist object. Actual result: -------------- PHP timeout error. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=47833&edit=1