Bug #49660 [Com]: libxml 2.7.3+ limits text nodes to 10MB
Edit report at https://bugs.php.net/bug.php?id=49660&edit=1
ID: 49660
Comment by: pretandor at gmx dot de
Reported by: sta at netimage dot dk
Summary: libxml 2.7.3+ limits text nodes to 10MB
Status: Closed
Type: Bug
Package: SOAP related
Operating System: FreeBSD 7.1
PHP Version: *
Assigned To: gooh
Block user comment: N
Private report: N
New Comment:
For everyone who came across this bug and is not using SimpleXML directly but SoapClient, you can
switch to Zend Soap Component:
(standalone)
https://github.com/zendframework/zend-soap
Previous Comments:
------------------------------------------------------------------------
[2009-12-01 11:15:18] felipe@php.net
"Added LIBXML_PARSEHUGE constant to overrides the maximum text size of a single text node when
using libxml2.7.3+."
------------------------------------------------------------------------
[2009-12-01 02:06:10] felipe@php.net
This bug has been fixed in SVN.
Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
Thank you for the report, and for helping us make PHP better.
------------------------------------------------------------------------
[2009-12-01 02:05:29] svn@php.net
Automatic comment from SVN on behalf of felipe
Revision: http://svn.php.net/viewvc/?view=revision&revision=291533
Log: - Fixed bug #49660 (libxml 2.7.3+ limits text nodes to 10MB). (Felipe)
- Added LIBXML_PARSEHUGE constant to overrides the maximum text size of a
single text node when using libxml2.7.3+. (Kalle)
[DOC]
------------------------------------------------------------------------
[2009-09-28 11:31:14] sta at netimage dot dk
Hi Kalle.
Thanks for replying so soon.
Your patch does fix the issue when loading directly with
simplexml_load_file('file.xml', 'SimpleXMLElement', LIBXML_PARSEHUGE);
However the error was not originally encountered using simplexml, but using SoapClient - and there
does not seem to be a way to pass libxml-options to SoapClient.
So as far as I can tell, the problem remains when using SoapClient.
/Thing
------------------------------------------------------------------------
[2009-09-26 12:12:14] kalle@php.net
I guess we could expose the constant value from ext/libxml if available like:
Index: libxml.c
===================================================================
--- libxml.c (revision 288659)
+++ libxml.c (working copy)
@@ -622,6 +622,9 @@
REGISTER_LONG_CONSTANT("LIBXML_COMPACT", XML_PARSE_COMPACT, CONST_CS |
CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("LIBXML_NOXMLDECL", XML_SAVE_NO_DECL, CONST_CS |
CONST_PERSISTENT);
#endif
+#if LIBXML_VERSION >= 20703
+ REGISTER_LONG_CONSTANT("LIBXML_PARSEHUGE", XML_PARSE_HUGE, CONST_CS |
CONST_PERSISTENT);
+#endif
REGISTER_LONG_CONSTANT("LIBXML_NOEMPTYTAG", LIBXML_SAVE_NOEMPTYTAG, CONST_CS |
CONST_PERSISTENT);
/* Error levels */
Does this work for you when passing it to SimpleXML's $option parameter?
(Patch made against PHP_5_3, but is just a 3 line c/p to other branches)
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=49660
--
Edit this bug report at https://bugs.php.net/bug.php?id=49660&edit=1
Thread (7 messages)