Zum Inhalt springen

UPGRADE auf 6.2.6 mit 500 Internal Server Error und Fatal Error in Folder structure

Erstellt am 5. Januar 2015 · 8 Antworten · letzte Antwort am 7. Januar 2015

Tags: Datei-Upload, Update & Upgrade, TYPO3 6.x, Frage

erlkoenig ·

UPGRADE auf 6.2.6 mit 500 Internal Server Error und Fatal Error in Folder structure

hi there,

plage mich seit wochen mit dem ugrade auf 6.2. hab verschiedene versionen ausprobiert;
6.2.3, 6.2.6, 6.2.9 - es ist überall das gleiche problem.

> installation ohne symlinks
> provider erlaubt die .htaccess einträge nicht
> typo3temp bereits geleert
> upgrade wizard durchgeklickt - das modify tables and fields kommt aber noch immer
> aufgrund einer alten, schon lange mitgeschleppten erstkonfiguration, sind die bilder im uploads verzeichnis - die entsprechenden einträge in der config sind gemacht; das hatte bisher keine probleme verursacht

> php 5.6.3

es funktioniert imgrunde alles - ich kann nur keine neuen bilder hinzufügen.

ich komm in den dateibrowser, sehe die bilder, wenn ich aber eines auswähle, kommt eine fehlermeldung: „Error: 500 Internal Server Error“.

das gleiche, wenn ich im backend direkt in einem inhaltselement über „Select & upload files“ ein bild hochladen möchte; bild wird zwar hochgeladen - kann es aber nicht auswählen.

upload über die „Dateiliste“ funktioniert - auswählen kann ich diese bilder aber ebenso wenig.

keine fehlermeldungen in Install / System environment
ABER
eine reihe von fatal error in Install / Folder structure:

——————————————>
Detected Fatal Error
Uncaught exception 'TYPO3\CMS\Install\FolderStructure\Exception\InvalidArgumentException' with message 'Child name must be unique' in /home/.sites/338/site2332/web/typo3/sysext/install/Classes/FolderStructure/DirectoryNode.php:288 Stack trace: #0 /home/.sites/338/site2332/web/typo3/sysext/install/Classes/FolderStructure/RootNode.php(56): TYPO3\CMS\Install\FolderStructure\DirectoryNode->createChildren(Array) #1 /home/.sites/338/site2332/web/typo3/sysext/install/Classes/FolderStructure/DefaultFactory.php(30): TYPO3\CMS\Install\FolderStructure\RootNode->__construct(Array, NULL) #2 /home/.sites/338/site2332/web/typo3/sysext/install/Classes/Controller/Action/Tool/FolderStructure.php(33): TYPO3\CMS\Install\FolderStructure\DefaultFactory->getStructure() #3 /home/.sites/338/site2332/web/typo3/sysext/install/Classes/Controller/Action/AbstractAction.php(89): TYPO3\CMS\Install\Controller\Action\Tool\FolderStructure->executeAction() #4 /home/.sites/338/site2332/web/typo3/sysext/install/Classes/Controller/ToolController.p in /home/.sites/338/site2332/web/typo3/sysext/install/Classes/FolderStructure/DirectoryNode.php on line 288
<———————————

bei 6.2.9 erscheint anstelle des fatal errors das „oops …“ - ohne details. der internal 500er bleibt der gleiche.

bin mit meinem latein endgültig am ende.

irgendjemand eine idee?

sg
norbert

toifel ·

Du müsstest mal in die DirectoryNode.php und dir $structure ausgeben lassen.. am besten direkt oben im __construct().
Der Hund liegt irgendwo hier begraben:

if ($existingChild->getName() === $name) {
	throw new \TYPO3\CMS\Install\FolderStructure\Exception\InvalidArgumentException(
		'Child name must be unique',
		1366222206
	);
}

Wenn wirklich alle Unterordner in $this->children[] gesammelt werden, dann würde das bedeuten, dass man keine Unterordner mit dem selben Namen erstellen darf, wie ihre parents? Die Ordnerebenen scheinen ja überhaupt nicht berücksichtigt zu werden, wenn ich den Code richtig überflogen habe..

erlkoenig ·

erst mal danke für deine rückmeldung.

verstehen kann ich das nicht. denn die gleichen namen bekommen div. unterordner ja erst durch den migrationsprozess / durch den wizard. beispielsweise liegt nun im umploads ein verzeichnis mit namen _migrated und da drin sind wieder media, pics etc. / also die gleichen media, pics etc. die ja auch im uploads selbst liegen.

und wie meinst du das mit $structure ausgeben lassen?

sg
norbert

toifel ·

Hast du den "uploads/" Ordner als Filestorage angelegt? Das könnte dann in der Tat problematisch werden.

Öffne mal deine /home/.sites/338/site2332/web/typo3/sysext/install/Classes/FolderStructure/DirectoryNode.php und schreibe in die __contruct() Funktion ein

echo '<pre>;
print_r($structure); 
echo '</pre>';
die();

Dann noch mal die Seite im Backend öffnen, wo der Error auftritt.. anstatt des Fehlers solltest du jetzt das $structure Object samt Inhalt sehen. Daraus müsste dann der Fehler ersichtlich sein.. kannst die Ausgabe ja noch mal hier posten.

erlkoenig ·

ok. danke. hatte es ohne dem die(); gemacht und nichts erhalten :?
hier die ausgabe:

Array
(
[name] => typo3temp
[type] => TYPO3\CMS\install\FolderStructure\DirectoryNode
[targetPermission] => 2775
[children] => Array
(
[0] => Array
(
[name] => index.html
[type] => TYPO3\CMS\install\FolderStructure\FileNode
[targetPermission] => 0664
[targetContent] =>
)

[1] => Array
(
[name] => compressor
[type] => TYPO3\CMS\install\FolderStructure\DirectoryNode
[targetPermission] => 2775
)

[2] => Array
(
[name] => cs
[type] => TYPO3\CMS\install\FolderStructure\DirectoryNode
[targetPermission] => 2775
)

[3] => Array
(
[name] => Cache
[type] => TYPO3\CMS\install\FolderStructure\DirectoryNode
[targetPermission] => 2775
)

[4] => Array
(
[name] => GB
[type] => TYPO3\CMS\install\FolderStructure\DirectoryNode
[targetPermission] => 2775
)

[5] => Array
(
[name] => llxml
[type] => TYPO3\CMS\install\FolderStructure\DirectoryNode
[targetPermission] => 2775
)

[6] => Array
(
[name] => locks
[type] => TYPO3\CMS\install\FolderStructure\DirectoryNode
[targetPermission] => 2775
)

[7] => Array
(
[name] => pics
[type] => TYPO3\CMS\install\FolderStructure\DirectoryNode
[targetPermission] => 2775
)

[8] => Array
(
[name] => sprites
[type] => TYPO3\CMS\install\FolderStructure\DirectoryNode
[targetPermission] => 2775
)

[9] => Array
(
[name] => temp
[type] => TYPO3\CMS\install\FolderStructure\DirectoryNode
[targetPermission] => 2775
)

)

)

erlkoenig ·

bezügl. file storage - ja, hab das auf "uploads/" gestellt - war bisher bei keiner version ein problem. hab das ding seit 2005 glaub ich. 😉 keine ahnung, was das für eine version war.

jedenfalls war das auch schon mein gedanke und hatte (eben wieder) das file storage auf "fileadmin/" gestellt, ebenso im install
$TYPO3_CONF_VARS['BE']['fileadminDir']
auf "fileadmin/"

was nichts geändert hat. 🙁

erlkoenig ·

hallo noch mal,
hab jetzt alles umgestellt, dass die bilder in fileadmin sind. config angepasst.
die fehlermeldungen in install/folder structure weg - dafür drei neue.
beziehen sich auf die installation ohne symlinks (siehe anhang) - sollte aber nicht das problem sein. richtig?

was geblieben ist, ist der inernal 500 fehler beim hinzufügen von bildern.

screen1.jpg
screen2.jpg

toifel ·

Die Symlink-Meldungen sind zwar unschön, aber nicht kritisch. Habe selbst noch ein paar Seiten, die ohne Sysmlinks laufen.. bislang problemlos.

Sieht für mich danach aus, als gäbe es ein Problem mit dem /tmp Ordner, in den PHP die temporären Dateien ablegt... oder einem anderen Ordner. Keinerlei Meldungen bzgl. falscher Berechtigungen deiner Ordnerstruktur im Installtool?

Hast du Zugriff auf den error_log? Dort sollten Details zum Error 500 zu finden sein.

erlkoenig ·

oha! jetzt versteh ich gar nix mehr.
ich hatte zuvor den typo3temp ordner dupliziert und dann geleert.
im logfile findet er jetzt eine ganze reihe bilder nicht - was mir im frontend aber nicht auffällt?!
und zudem hab ich jetzt bemerkt, dass er im duplizierten typo3temp offenbar alles doppelt und dreifach angelegt hatte! alle die verzeichnisse aus dem array oben wurden in jedem der oben genannten unterverzeichnisse nochmals angelegt und da drin wieder und so weiter!

das scheint jetzt aber nach dem umstellen auf das fileadmin verzeichnis nicht mehr der fall zu sein.

ich hab da einen gewaltigen knoten drin! mannomann.