

Danke!
****
Es hat einwandfrei geklappt.
Danke!!!.



Ob das allerdings so ist, kann ich leider nicht beurteilen.Das scheitert im File phpbb/cache/driver/file.php an einem flock($fp, LOCK_EX)
Aufruf, der dort einen Filelock für ein File holen möchte, das readonly ('rb')
geöffnet ist, wenn es schon existiert.
Leider verhält sich der flock()-Syscall unter Solaris und Linux unterschiedlich.
Unter Solaris muss ein File 'writable' geöffnet sein, damit ein exklusiver filelock geholt werden kann. Siehe Manpages 'man -s 2 flock':
Linux:
A shared or exclusive lock can be placed on a file regardless of the mode in which the file was opened.
Solaris:
Read permission is required on a file to obtain a shared lock, and write permission is required to obtain an exclusive lock.
Da wir in PHP nicht einfach jedes File was readonly geöffnet wird stattdessen
writable öffnen können, müsste die phpBB3-App so gefixed werden, dass sie
wieder kompatibel mit Solaris ist.
Falls das nur den flock() betrifft reicht es im open genannten File den readmode von 'rb' auf 'r+' zu ändern.
So ist es wohl.f4ce hat geschrieben: 01.02.2020 11:06Ob das allerdings so ist, kann ich leider nicht beurteilen.Strato Support hat geschrieben:... open genannten File den readmode von 'rb' auf 'r+' zu ändern.
Bevor ich meine mein jetzige Lösung (paar Einträge weiter vorn) umsetzte, hatte ich das phpBB gefixt indem ich die Dateien nicht mit der Optionphp.net hat geschrieben: operation is one of the following:
LOCK_SH to acquire a shared lock (reader).
LOCK_EX to acquire an exclusive lock (writer).
LOCK_UN to release a lock (shared or exclusive).
rb
, sondern rb+
öffnen lies.phpbb/lock/flock.php
Zeile 104.Code: Alles auswählen
if (!@flock($this->lock_fp, LOCK_EX))
Code: Alles auswählen
if (!@flock($this->lock_fp, $mode == 'wb' ? LOCK_EX : LOCK_SH))
phpbb/lock/flock.php
wird die Dateisperre im exklusive Modus sowohl im Lese-, wie auch im Schreibmodus angewandt. Wird eine Datei auf den Solaris Servern von Strato im Lesemodus geöffnet und exklusive gesperrt gibt die Funktion flock()
ein FALSE zurück. Dies führt zu der Meldung "Failure while aqcuiring locks." bzw. eine HTTP 500 Exception. Meine Änderung bewirkt das Dateien, die im Schreibmodus geöffnet werden mit einen exklusive Lock (LOCK_EX) gesperrt werden. Die Dateien, die im Lesemodus geöffnet werden, mit einen shared Lock (LOCK_SH) gesperrt werden.flock()
auf php.net
php.net hat geschrieben: operation is one of the following:
LOCK_SH to acquire a shared lock (reader).
LOCK_EX to acquire an exclusive lock (writer).
LOCK_UN to release a lock (shared or exclusive).
https://area51.phpbb.com/phpBB/viewtopic.php?t=50141stefan-franz hat geschrieben: 04.02.2020 15:27Frage an der Stelle - wie lange dauert ca. die 4.0 noch - evtl macht es Sinn gleich drauf zu warten?