Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

General Questions

General questions about getting started with SilverStripe that don't fit in any of the categories above.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

DOMDocument::saveHTML() failure after latest 3.1 pull


Reply

3 Posts   690 Views

Avatar
tazzydemon

20 February 2013 at 10:58am (Last edited: 20 February 2013 11:32am), Community Member, 122 Posts

Guys,

I've posted to trac about this as well but I have just pulled 3.1 which by the looks of it will have 3.1 beta 2 merged in it. I now have a serious failure due, I believe, to my php version which is 5.3.3, the Centos standard release.

[Warning] DOMDocument::saveHTML() expects exactly 0 parameters, 1 given

Line 529 of ShortcodeParser.php :

529:      foreach($html->childNodes as $child) $res .= $doc->saveHTML($child);

Research suggests that this does not work less than php 5.3.6. See [url]http://www.php.net/manual/en/domdocument.savehtml.php[/url] You may wish to revisit version requirements or alter code as

Many users such as me cannot easily go beyond 5.3.3 so this is an issue.

Avatar
tazzydemon

20 February 2013 at 1:42pm Community Member, 122 Posts

Simple fix for now: revert to the old ShortcodeParser file (I dont use shortcodes anyway)

Avatar
tazzydemon

26 February 2013 at 9:13am (Last edited: 26 February 2013 9:25am), Community Member, 122 Posts

It has been pointed out by DirtyHam that 3.1.0 beta 2 works with 5.3.3.

A quick glance shows that 3.1 and 3.1 beta are quite different in this file. The offending php method is still present in 3.1 but not the beta.

The functions loadHTML() and saveHTML() are added in 3.1. There's a few other differences too. The offender is saveHTML(). The will not work sub php 5.3.6.

Assuming this is acceptable and deliberate then it should be added that to requirements. I am at present building a copy of my main centos server so I can add the remi repository to it and test upgrading php to (up to) 5.4.x.

This is available for centos 5x and 6x