Antwort #7 am: 15. Dezember 2014, 16:47:26
Hi, da wir gerade kurz vor der Umstellung auf php 5.4 stehen wollte ich mich bereits für php 5.5 rüsten und so habe ich im Testshop kurzerhand einen Test mit php 5.5 gemacht. Wie erwartet erhielt ich auch die Fehlermeldung:
in der hier genannten /includes/modules/metatags.php on line 183 erhalten.
Durch die Anpassung von mr.mc.mauser sowie der unten geänderten Zeilen sind die Fehlermeldungen verschwunden und der Test-Shop scheint auch unter php 5.5 (im FastCGI Modus) zu funktionieren.
Für mich jedenfalls schonmal beruhigend auch wenn da noch mehr Anpassungen kommen sollten.
Weiter angepasst wurde:
Datei: includes\classes\Smarty_2.6.27\Smarty_Compiler.class.php
$source_content = preg_replace($search.'e', "'" . $this->_quote_replace
($this->left_delimiter) . 'php' . "' . str_repeat(\"\n\", substr_count('\\0', \"\n\")) .'" . $this->_quote_replace
($this->right_delimiter) . "'" , $source_content); ersetzt mit:
if (version_compare(PHP_VERSION, 5.5, '<')){ $source_content = preg_replace($search.'e', "'" . $this->_quote_replace
($this->left_delimiter) . 'php' . "' . str_repeat(\"\n\", substr_count('\\0', \"\n\")) .'" . $this->_quote_replace
($this->right_delimiter) . "'" , $source_content); }else{ $source_content = preg_replace_callback($search, create_function ('$matches', "return '" . $this->_quote_replace
($this->left_delimiter) . 'php' . "' . str_repeat(\"\n\", substr_count('\$matches[1]', \"\n\")) .'" . $this->_quote_replace
($this->right_delimiter) . "';") , $source_content); } Datei: includes\application_top.php
ersetzt mit: