---
title: "stack overflow bei 3.6.1"
url: "https://www.typo3.net/d/13358-stack-overflow-bei-361"
source: "typo3.net"
tags: ["Hosting","Lokale Umgebung","Frage"]
created: "2004-07-11"
last_reply: "2004-07-14"
replies: 1
solved: false
page: 1
pages: 1
lang: "de"
---

# stack overflow bei 3.6.1

Hosting › Lokale Umgebung · 1 Antwort · gestartet 2004-07-11

## Eröffnungsbeitrag

**rorso** · 2004-07-11 · [Beitrag #1](https://www.typo3.net/d/13358-stack-overflow-bei-361/1)

Ich habe die Version 3.6.1 und die QuickStart Demo in ein neues Verzeichnis installiert.
Backend läuft tadellos,  aber im Frontend erscheint im Content Frame kein Inhalt sondern nur die Fehlermelung
"PHP has encountered a Stack overflow"

Das Problem ist unabhängig davon, ob ich das mit Apache oder mit IIS laufen lasse. Die 3.5 lief in der gleichen Konfiguration ohne Probleme.  Wenn ich probehalber wieder das alte Verzeichnis verknüpfe läuft das auch noch.

Das Problem tritt bei neuen Seiten nicht sofort auf, sondern erst wenn ich ein (beliebiges) Content-Element hinzufüge.

Konfiguration:
Win2K, IIS5 (oder Apache 2.0), PHP 4.3.6 ISAPI

Das leidige GIF Problem wird sich dirch das Ablaufen des UNISYS Patents hoffentlich bald von selbst lösen.

## Antworten

### [#2](https://www.typo3.net/d/13358-stack-overflow-bei-361/2) · rorso · 2004-07-14

Muß ich mir meine Frage wieder mal selber beantworten:

Windows + PHP + ISAPI = schnell + %&/&%$
Windows + PHP + CGI = stabil aber laaangsam

Richtig:

Windows + PHP + FastCGI + MMCache = schnell + stabil :D

FastCGI anstelle von CGI gibt's unter
<http://www.fastcgi.com/>

MMCache für PHP gibt's unter
<http://turck-mmcache.sourceforge.net/index_old.html>

Hintergrund:

PHP ist zwar systemunabhängig geschrieben, aber eben doch von *nix programmierern. Wird da ein Programm mehrfach aufgerufen, dann läuft jedes in einem eigenen Prozeß, isoliert von den anderen. Bei Windows ist das unter ISAPI nur EIN Prozeß, das gleichzeitig mehrfach angesprungen wird. Das nennt sich dann "Threads". Da muß man höllisch drauf achten, daß nicht für den "eigenen" Thread mal ein globaler Wert gesetzt wird, den prompt ein fremder Thread wieder ausliest und damit unversehens im Nirwana landet.
PHP ist im großen und ganzen recht "thread-safe" aber eben nicht 100%.

In der CGI Variante wird für jeden Aufruf ein neuer Task gestartet (mehrere PHP.EXE), die von einander isoliert laufen. Allerdings ist der Overhead zum Erstellen und Beenden im Vergleich zur Laufzeit untragbar hoch.

FastCGI hält nun mehrere PHP Prozesse am Laufen und füttert die mit den Dateien. Der Overhead zum Erzeugen der Tasks fällt weg und trotzdem bleibt das ganze stabil - dafür braucht's etwas mehr Speicher, aber das kann man vertreten.

MMCache ist ein Tool, das das PHP Programm, welches ja als Datei im Quellcode vorliegt und vor der Verarbeitung durch den PHP "interpreter" erst kompiliert und geprüft wird gleich im geprüften Binärcode zwischenspeichert und beim nächsten Aufruf ohne Kompilierung und Prüfung direkt ausführen kann - nochmal schneller.

Ich bin leider kein PHP Profi, aber das sollte man eigentlich in jeder Windows-PHP Distribution automatisch einbauen oder die Info dem Operator mit dem Stock reinprügeln. Ha.  #evil#

---

Quelle: „stack overflow bei 3.6.1“, typo3.net, https://www.typo3.net/d/13358-stack-overflow-bei-361
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
