[pmwiki-users] php 5.2.1 problem (serious)

Henrik henrik.bechmann at sympatico.ca
Sun Mar 18 15:19:00 CDT 2007


Update:

1. I am using PmWiki version 2.1.26

2. I have incrementally removed content from one of the pages that 
doesn't render, and there is a threshold under which it does render, not 
apparently associated with any specific wiki markup, just volume. So the 
truncated page

http://www.dufferinpark.ca/cityrinks/wiki/wiki.php?n=DufferinParkRink.WinterDiary2006-2007

renders, but the original (longer page)

http://www.dufferinpark.ca/cityrinks/wiki/wiki.php?n=DufferinParkRink.WinterDiary2006-2007-original

doesn't, even though there's lots of content:

http://www.dufferinpark.ca/cityrinks/wiki/wiki.php?n=DufferinParkRink.WinterDiary2006-2007-original?action=source

3. I have turned on diagnostics, and compared ?action=diag on the two 
above pages. They are identical, so I presume the in-memory structure is 
not damaged.

4. I have upgraded my virtual desktop server from xampp, to run PHP 
version 5.2.1, and am able to reproduce the problem. This eliminates the 
server environment as the cause, and reduces the likelihood that some 
php setting is the culprit.

My current working theory is that something in the following code 
fragment from pmwiki.php is failing in the presence of PHP 5.2.1:

    $text = '(:groupheader:)'.@$text.'(:groupfooter:)';
    $t1 = time();
    $FmtV['$PageText'] = MarkupToHTML($pagename, $text, $opt);
    if (@$EnableHTMLCache > 0 && !$NoHTMLCache && $PageCacheFile
        && (time() - $t1 + 1) >= $EnableHTMLCache) {
      $fp = @fopen("$PageCacheFile,new", "x");
      if ($fp) {
        fwrite($fp, serialize(array($FmtV['$PageText']))); fclose($fp);
        rename("$PageCacheFile,new", $PageCacheFile);
      }
    }

most likely something in the MarkupToHTML function that is failing and 
causing a blank to be returned.

I'll keep tracing it back, easier now that I have a local test 
environment that reproduces the problem...

Again, if anyone has seen this or has heard something, please let me know.

Thanks,

Best,

- Henrik
   

Henrik wrote:
> My service provider just upgraded to php version 5.2.1 (good), which 
> seems to be related to some rather complex pmwiki pages not rendering (bad).
>
> I can see all the wiki text in edit, but this text does not render. 
> Instead the rendered page is blank of content. (The "wikitext" element 
> in the rendered page is empty.)
>
> There are at least three pages that I have identified so far that have 
> the problem, and the common characteristic is that they are large. 
> However there is one page which is also large that *does* render, so it 
> may be a combination of size and complexity.
>
> I have experimentally reduced size (amount of wiki text) in one of the 
> pages that does not render, and there is a specific point at which it 
> renders  when I remove a paragraph. There are no embedded instructions 
> in the final text that I remove to cross the threshold of renderin. If I 
> add a plain paragraph at the beginning or end of this page then the page 
> again disappears. So it appears to be some kind of resource over-run issue.
>
> Some kind of an array over-run? String length issue? PHP setting of some 
> kind?
>
> This is obviously a critical problem, so if anyone has run into 
> something like this I would be grateful to hear about it.
>
> Thanks,
>
> - Henrik
>
>   

-- 

Henrik Bechmann
www.bechmann.ca
Webmaster, www.dufferinpark.ca




More information about the pmwiki-users mailing list