More info: If I turn off the group header of the large page (the group header contains (:if:) directives to be parsed), then the page renders.
So I'm thinking there's something about (:if:) directive processing (possibly internal preg_replace match subsets) that causes preg_replace to fail. Here's the page that doesn't render: http://www.dufferinpark.ca/cityrinks/wiki/wiki.php?n=DufferinParkRink.WinterDiary2006-2007-original Here's the same page with (:nogroupheader:) added at the beginning of the wiktext (this renders): http://www.dufferinpark.ca/cityrinks/wiki/wiki.php?n=DufferinParkRink.WinterDiary2006-2007-originalwithoutheader Here's the group header text: (:if equal {$Name} {$DefaultName} :)%block rfloat%<<|[[List Of Rinks |'''List of Rinks''']]|>> See '''[[WinterDiary 2006-2007 | Rink Diary]]''' (:ifend:) (:if ! equal {$Name} {$DefaultName} :)<<|[[(ArticleList)]]|>> (:if:) Henrik wrote: > It looks like preg_replace() is broken for long strings in PHP 5.2.1. > > Consistent with what I've seen, and I see mention of it in the "chatter". > > I'll have to create a demo, and make sure the PHP folks have it on > their active bug list. (later this week -- going out of town for a few > days). > > Arghh. > > - Henrik > > Henrik wrote: >> On the page that renders: Max memory used 2598056 >> >> On the page that doesn't render: Max memory used 2962672 >> >> (my local environment) >> >> Way under the max... >> >> Patrick R. Michaud wrote: >> >>> On Sun, Mar 18, 2007 at 05:58:47PM -0500, Patrick R. Michaud wrote: >>> >>> >>>> Weird. I notice that your PHP environment is running with memory limits >>>> enabled >>>> (of 64MB) -- so perhaps PmWiki is hitting the memory limit. This doesn't >>>> seem >>>> likely, though, as 64MB is a huge amount of memory. >>>> >>>> FWIW, the most I've ever seen a page require on pmwiki.org is 24MB. >>>> >>>> >>> Here's an interesting experiment... >>> >>> Add the following to your local/config.php: >>> >>> function PeakUsage($pagename) { >>> return 'Max memory used ' . memory_get_peak_usage(); >>> } >>> $HTMLFooterFmt['memlimit'] = 'function:PeakUsage'; >>> >>> Then, run one of the pages that is large but actually renders correctly, >>> and tell me what value appears at the bottom of the page. That will give >>> us an idea of whether your site is getting close to PHP's memory limits, >>> and if this is somehow the problem. >>> >>> (I think you'll also need to add a <!--HTMLFooter--> directive >>> to your skin's template -- add it just before the closing </body> tag.) >>> >>> Pm >>> >>> >>> >>> >> >> > > -- > > Henrik Bechmann > www.bechmann.ca > Webmaster, www.dufferinpark.ca > ------------------------------------------------------------------------ > > _______________________________________________ > pmwiki-users mailing list > [email protected] > http://www.pmichaud.com/mailman/listinfo/pmwiki-users > -- Henrik Bechmann www.bechmann.ca Webmaster, www.dufferinpark.ca _______________________________________________ pmwiki-users mailing list [email protected] http://www.pmichaud.com/mailman/listinfo/pmwiki-users
