Apache crash – php5ts.dll

Heute hatte ich ein sehr „spannendes“ Problem auf meinem lokalen Testserver. Szenario: Eine normale TYPO3 Website eines Kunden, die ich mir auch am lokalen Server eingerichtet habe damit ich größere Änderungn zuerst lokal entwicklen und testen kann. In dieser Website kommen u.a. Extbase Erweiterungen zum Einsatz, daher werden auch Fluid Templates verwendet. „Apache crash — php5ts.dll“ weiterlesen

/usr/bin/rm: Die Argumentliste ist zu lang

Wenn sich in einem Verzeichnis zu viele Dateien befinden, meckert rm gerne mal rum dass die Argumentliste zu lang ist.
In einer TYPO3 Installation hatte ich gerade wieder ein typo3temp Verzeichnis in dem sich 85.000 Dateien angesammelt hatten – das per FTP zu löschen würde viel zu lange dauern (Stunden).

Als einzig sinnvolle Möglichkeit bleibt hier die Kommandozeile, doch auch hier geht das wegen dem o.g. Problem (rm / Argumentliste) nicht ohne weiteres.

Hiermit löscht man alle Dateien im aktuellen Verzeichnis:

und so z.B. alle JavaScript Dateien:

Sogar das dauerte bei meinen 85.000 Dateien ca. 10 Minuten.

Update: Um das ganze noch weiter zu beschleunigen, kann xargs noch der n Parameter übergeben werden:

TYPO3 Seitenbaum im Frontend auslesen

Für eine Erweiterung brauchte ich im Frontend den kompletten Seitenbaum als Array. Hier kann man auf t3lib_pageSelect zurückgreifen, leider bekommt man mit getMenu() immer nur eine Ebenemacht aber nix, man kann ja eine rekursive Funktion draus machen.

Verwendung innerhalb einer Klasse:

Und als „standalone“ Funktion:

 

Backend Session Handler mit Extbase

In einem aktuellen Projekt müssen in den Backend Modulen Daten in die Session gespeichert und wieder ausgelesen werden.
Da die Erweiterung natürlich mit Extbase programmiert wird, habe ich mir dazu ich einen kleinen Wrapper für getSessionData und setAndSaveSessionData in $GLOBALS[‚BE_USER‘] geschrieben:

Domain/Session/BackendSessionHandler.php

Verwendung im Controller:

Address set in PathHeader does not comply with addr-spec of RFC 2822 – TYPO3 Form Plugin

Beim neuen Form Plugin von TYPO3 kann es vorkommen dass man beim Absenden des Formulars den Fehler „Address set in PathHeader does not comply with addr-spec of RFC 2822“ bekommt.

Das kann an der Konfigurationseinstellung forceReturnPath liegen, der muss entweder auf 0 oder false stehen, oder eine valide E-Mail Adresse enthalten. In meinem Fall steht dieser Wert standardmäßig auf „1“ – das ist die Grundkonfiguration welche der Hoster (Mittwald) bei einer automatischen TYPO3 Installation setzt. Mittwald habe ich über den Umstand bereits informiert doch sie haben es noch nicht geändert.

localconf.php

Der Grund des Fehlers ist einfach: Im Plugin wird der returnPath gesetzt wenn er „true“ ist, und der Mailer hat mit der E-Mail Adresse „1“ natürlich ein Problem.

/typo3/sysext/form/Classes/System/Postprocessor/Mail.php

Diese Bedingung ist durch unsere Änderung in der localconf.php nicht mehr true, somit wird kein returnPath gesetzt und der Fehler ist weg.