WBB Fehler (preg_replace(): The /e modifier is deprecated)

11/04/2016 17:11 Lauling#1
guten Tag

Ich hoffe ich bin hier richtig :o

Habe die letzten Tage ein wbb Forum aufgesetzt. Als ich vorhin eine PN beantworten wollte, kam folgende Seite mit folgender Fehlermeldung:

PHP Code:
Fatal errorPHP error in file /var/www/vhosts/*****.net/board.*****.net/wcf/lib/form/PMNewForm.class.php (306): preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead
Information:
error message: PHP error in file /var/www/vhosts/*****.net/board.*****.net/wcf/lib/form/PMNewForm.class.php (306): preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead
error code: 0
file: /var/www/vhosts/*****.net/board.*****.net/wcf/lib/system/WCF.class.php (281)
php version: 5.6.27-0+deb8u1
wcf version: 1.1.10 pl 2 (Tempest)
date: Fri, 04 Nov 2016 16:06:05 +0000
request: /index.php?form=PMNew&action=new&pmID=1&replyToAll=1
referer: http://board.*****.net/index.php?page=PMView&pmID=1&folderID=0&pageNo=1&sortField=time&sortOrder=DESC&filterBySender=0
Stacktrace:
#0 [internal function]: WCF::handleError(8192, 'preg_replace():...', '/var/www/vhosts...', 306, Array)
#1 /var/www/vhosts/*****.net/board.*****.net/wcf/lib/form/PMNewForm.class.php(306): preg_replace('/(^RE: RE\\[)(\\d...', '"RE[".(\\2+1)', 'RE: Hey')
#2 /var/www/vhosts/*****.net/board.*****.net/wcf/lib/page/AbstractPage.class.php(90): PMNewForm->readData()
#3 /var/www/vhosts/*****.net/board.*****.net/wcf/lib/form/MessageForm.class.php(237): AbstractPage->show()
#4 /var/www/vhosts/*****.net/board.*****.net/wcf/lib/form/PMNewForm.class.php(423): MessageForm->show()
#5 /var/www/vhosts/*****.net/board.*****.net/wcf/lib/page/AbstractPage.class.php(46): PMNewForm->show()
#6 /var/www/vhosts/*****.net/board.*****.net/wcf/lib/util/RequestHandler.class.php(64): AbstractPage->__construct()
#7 /var/www/vhosts/*****.net/board.*****.net/wcf/lib/util/RequestHandler.class.php(95): RequestHandler->__construct('PMNew', Array, 'form')
#8 /var/www/vhosts/*****.net/board.*****.net/index.php(8): RequestHandler::handle(Array)
#9 {main} 
Ich kenne mich nicht wirklich mit Forensoftware aus, aber anhand der Fehlermeldung gehe ich davon aus, dass irgendetwas veraltet und daher nicht kompatible ist, jedoch habe ich keinen Anhaltspunkt, was ich da genau updaten muss. Das WBB Forum hat die die Version 3.1.8

PHP auf der Webspace sollte auf dem aktuellsten stand sein, ich kann grad nicht nachgucken, da der Hoster Wartungsarbeiten durchführt und Plesk momentan nicht erreichbar ist.

Kennt jemand diesen error & eine Lösung?

Danke schonmal

mfg

Habe mittlerweile eine lösung gefunden.

das problem lag an der php version, welche mit der wbb version nicht kompatibel ist.
lösung:

php version vor 5.5 verwenden oder die datei SqlPackageInstallationPlugin.class.php öffnen nach
PHP Code:
$alterStatements[2][$key] = preg_replace("~('[^'\\\\]*(?:(?:'(?=')|\\\\).[^'\\\\]*)*')~es""''"$alterStatements[2][$key]); 
suchen und mit
PHP Code:
//$alterStatements[2][$key] = preg_replace("~('[^'\\\\]*(?:(?:'(?=')|\\\\).[^'\\\\]*)*')~es", "''", $alterStatements[2][$key]);
                
$alterStatements[2][$key] = preg_replace_callback("~('[^'\\\\]*(?:(?:'(?=')|\\\\).[^'\\\\]*)*')~s", array('SqlPackageInstallationPlugin''replaceCallback'), $alterStatements[2][$key]); 
ersetzen sowie nach
PHP Code:
// delete create statement
         
$this->deleteStatement($statement); 
suchen und unten das einfügen:
PHP Code:
}
    
    private static function 
replaceCallback($matches) {
        return 
"''"
mfg
11/06/2016 20:35 Freeze#2
Bevor man WBB installiert sollte man auch die beiden Dateien ausführen die dein Webspace auf php und mySQL Tauglichkeit überprüft :D
11/07/2016 16:14 Lauling#3
naja, wie gesagt, ich habe nicht wirklich viel Plan von Forensoftware...