Nur mal so am Rande und nicht für fertige CMS gedacht. Interessant fand ich, wann es sinnvoll ist die Größe für Stacks hochzusetzen, um einen Stack Overflow zu vermeiden.
http://httpd.apache.org/docs/2.2/mod/m…ThreadStackSize
Der bei php.net aufgeführte Bug scheint gelegentlich bei RegEx vorzukommen (nach meinen Eindruck bei Verwendung von missratenen Ausdrücken). Zumindest finde ich das untere Beispiel auf der Seite missraten, wenn nicht feststeht, wie viel da zwischen
Book Navigation Start -->((.|\s)+)<!-- Book Navigation End
enthalten sein könnte und der in $pattern gespeicherte Ausdruck an sich schon nicht gerade kurz ist. Die Möglichkeit Stack Overflow zu vermeiden, durch hochsetzen auf 8 MB und somit wohl auf einem Linux-Standardwert, mag in diesem Fall das Mittel der Wahl sein,
<IfModule mpm_winnt_module>
ThreadStackSize 8*1024*1024
</IfModule>
https://bugs.php.net/bug.php?id=47689
doch gleichzeitig denke ich, der bessere Weg wäre die Optimierung von RegEx einschließlich der Ausdrücke. Weiß da jetzt nicht, was in der Book Navigation vom Beispiel enthalten sein könnte, doch bei einem ähnlichen Script entblättere ich lieber eine Datei von außen nach innen und bisher kam es noch zu keinem Überlauf von Stack. Beispiel:
// entfernen
$eingang = preg_replace("/<!DOCTYPE html.*?\">.*?<body>/is", "", $eingang);
$eingang = preg_replace("/<\/body>[\r\n]*<\/html>/i", "", $eingang);