Fehler beim Aufrufen der Shop Seite
Guten Tag wehrte Gemeinschaft,
im Rahmen der Shopaktualisierung unserer Kunden, sind wir leider gezwungen unseren Webserver zu wechseln. Dieser, gibt früher als gedacht, so langsam den Geist auf.
Der erste Shop verlief problemlos, beim 2./3. kam es dann zu einem kleinen Problem.
Wenn ich Seite aufrufe, dann erscheint im oberen Bereich mehrmals die Warnung:
Deprecated: preg_replace(): The /emodifier is deprecated, use preg_replace_callback()instead in /html/includes/modules/metatags.php on line 182
Nach meiner Recherche ist seit PHP Version 5.5.0 "preg_replace()" veraltet und sollte mit dem Zusatz "_callback" verwendet werden. Dies habe ich gemacht. Anschließend bekam ichfolgende Warnung:
Warning: preg_replace_callback(): Requires argument 2, 'chr('\1')', to be a valid callback in /html/includes/modules/metatags.php on line 182
und unter den 15 Zeilen, mit der gleichen Warnung, ist die normale Shopseite.
Der Code der hinter der Warnung steckt ist folgender:
function metaNoEntities($Text){
if (version_compare(PHP_VERSION, '5.3.4', '<')) {
$translation_table = get_html_translation_table(HTML_ENTITIES,ENT_QUOTES);
} else {
$translation_table = get_html_translation_table(HTML_ENTITIES,ENT_QUOTES,strtoupper($_SESSION['language_charset']));
}
$translation_table = array_flip($translation_table);
$Return= strtr($Text,$translation_table);
return preg_replace_callback( '/&#(\d+);/me',"chr('\\1')",$Return);
}
-PHP Version neuer Webserver - 5.6 (latest FPM)
Kann mir einer sagen was ich da noch anpassen muss damit es wieder funktioniert? Ich glaub ich steh auf dem Schlauch.
Viele Grüße
Speedo
im Rahmen der Shopaktualisierung unserer Kunden, sind wir leider gezwungen unseren Webserver zu wechseln. Dieser, gibt früher als gedacht, so langsam den Geist auf.
Der erste Shop verlief problemlos, beim 2./3. kam es dann zu einem kleinen Problem.
Wenn ich Seite aufrufe, dann erscheint im oberen Bereich mehrmals die Warnung:
Deprecated: preg_replace(): The /emodifier is deprecated, use preg_replace_callback()instead in /html/includes/modules/metatags.php on line 182
Nach meiner Recherche ist seit PHP Version 5.5.0 "preg_replace()" veraltet und sollte mit dem Zusatz "_callback" verwendet werden. Dies habe ich gemacht. Anschließend bekam ichfolgende Warnung:
Warning: preg_replace_callback(): Requires argument 2, 'chr('\1')', to be a valid callback in /html/includes/modules/metatags.php on line 182
und unter den 15 Zeilen, mit der gleichen Warnung, ist die normale Shopseite.
Der Code der hinter der Warnung steckt ist folgender:
function metaNoEntities($Text){
if (version_compare(PHP_VERSION, '5.3.4', '<')) {
$translation_table = get_html_translation_table(HTML_ENTITIES,ENT_QUOTES);
} else {
$translation_table = get_html_translation_table(HTML_ENTITIES,ENT_QUOTES,strtoupper($_SESSION['language_charset']));
}
$translation_table = array_flip($translation_table);
$Return= strtr($Text,$translation_table);
return preg_replace_callback( '/&#(\d+);/me',"chr('\\1')",$Return);
}
-PHP Version neuer Webserver - 5.6 (latest FPM)
Kann mir einer sagen was ich da noch anpassen muss damit es wieder funktioniert? Ich glaub ich steh auf dem Schlauch.
Viele Grüße
Speedo
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 493319
Url: https://administrator.de/contentid/493319
Ausgedruckt am: 24.11.2024 um 11:11 Uhr
4 Kommentare
Neuester Kommentar
moin....
Der Code der hinter der Warnung steckt ist folgender:
function metaNoEntities($Text){
if (version_compare(PHP_VERSION, '5.3.4', '<')) {
$translation_table = get_html_translation_table(HTML_ENTITIES,ENT_QUOTES);
} else {
$translation_table = get_html_translation_table(HTML_ENTITIES,ENT_QUOTES,strtoupper($_SESSION['language_charset']));
}
$translation_table = array_flip($translation_table);
$Return= strtr($Text,$translation_table);
return preg_replace_callback( '/&#(\d+);/me',"chr('\\1')",$Return);
}
-PHP Version neuer Webserver - 5.6 (latest FPM)
uhhhh..... also ab PHP 7.2x wäre es aktuell.... nochmal, was für ein Server OS , was für ein Shopsystem? ist der Sewrver ordentlich eingerichtet, ist alles aktuell? PHP 5.6 ist eigentlich schon in rente.....
Kann mir einer sagen was ich da noch anpassen muss damit es wieder funktioniert? Ich glaub ich steh auf dem Schlauch.
Viele Grüße
Speedo
Frank
Zitat von @speedo81:
Guten Tag wehrte Gemeinschaft,
im Rahmen der Shopaktualisierung unserer Kunden, sind wir leider gezwungen unseren Webserver zu wechseln. Dieser, gibt früher als gedacht, so langsam den Geist auf.
oha....Guten Tag wehrte Gemeinschaft,
im Rahmen der Shopaktualisierung unserer Kunden, sind wir leider gezwungen unseren Webserver zu wechseln. Dieser, gibt früher als gedacht, so langsam den Geist auf.
Der erste Shop verlief problemlos, beim 2./3. kam es dann zu einem kleinen Problem.
was für Probleme? was für ein Server.... was für ein OS? usw.....Wenn ich Seite aufrufe, dann erscheint im oberen Bereich mehrmals die Warnung:
was für eine Seite?Deprecated: preg_replace(): The /emodifier is deprecated, use preg_replace_callback()instead in /html/includes/modules/metatags.php on line 182
Nach meiner Recherche ist seit PHP Version 5.5.0 "preg_replace()" veraltet und sollte mit dem Zusatz "_callback" verwendet werden. Dies habe ich gemacht. Anschließend bekam ichfolgende Warnung:
Warning: preg_replace_callback(): Requires argument 2, 'chr('\1')', to be a valid callback in /html/includes/modules/metatags.php on line 182
und unter den 15 Zeilen, mit der gleichen Warnung, ist die normale Shopseite.
was für ein Shopsystem bitte? welche version.... welche PHP version?Nach meiner Recherche ist seit PHP Version 5.5.0 "preg_replace()" veraltet und sollte mit dem Zusatz "_callback" verwendet werden. Dies habe ich gemacht. Anschließend bekam ichfolgende Warnung:
Warning: preg_replace_callback(): Requires argument 2, 'chr('\1')', to be a valid callback in /html/includes/modules/metatags.php on line 182
und unter den 15 Zeilen, mit der gleichen Warnung, ist die normale Shopseite.
Der Code der hinter der Warnung steckt ist folgender:
function metaNoEntities($Text){
if (version_compare(PHP_VERSION, '5.3.4', '<')) {
$translation_table = get_html_translation_table(HTML_ENTITIES,ENT_QUOTES);
} else {
$translation_table = get_html_translation_table(HTML_ENTITIES,ENT_QUOTES,strtoupper($_SESSION['language_charset']));
}
$translation_table = array_flip($translation_table);
$Return= strtr($Text,$translation_table);
return preg_replace_callback( '/&#(\d+);/me',"chr('\\1')",$Return);
}
-PHP Version neuer Webserver - 5.6 (latest FPM)
Kann mir einer sagen was ich da noch anpassen muss damit es wieder funktioniert? Ich glaub ich steh auf dem Schlauch.
Viele Grüße
Speedo
Moin,
PHP 5.6 ist schon EOL. Das solltet Ihr nicht mehr verwenden. Aktuell wäre 7.2
Siehe https://www.php.net/supported-versions.php
Zu Deiner Frage.
Die Parameter für die beiden Funktionen sind unterschiedlich.
https://www.php.net/manual/de/function.preg-replace.php
https://www.php.net/manual/de/function.preg-replace-callback.php
PHP 5.6 ist schon EOL. Das solltet Ihr nicht mehr verwenden. Aktuell wäre 7.2
Siehe https://www.php.net/supported-versions.php
Zu Deiner Frage.
Die Parameter für die beiden Funktionen sind unterschiedlich.
https://www.php.net/manual/de/function.preg-replace.php
https://www.php.net/manual/de/function.preg-replace-callback.php
Moin,
wie Stefan schon geschrieben hat, die alte Version erwartet an zweiter Stelle ein typ "mixed" und die neue eine Aufrufbare Funktion.
Bei Stackoverflow findet man folgendes wenn man einfach nach php preg_pregreplace to preg_replace_callback sucht:
https://stackoverflow.com/questions/23498399/replace-preg-replace-to-pre ...
Sieht ziemlich genauso so aus wie der code den du hast.
Grüße
wie Stefan schon geschrieben hat, die alte Version erwartet an zweiter Stelle ein typ "mixed" und die neue eine Aufrufbare Funktion.
Bei Stackoverflow findet man folgendes wenn man einfach nach php preg_pregreplace to preg_replace_callback sucht:
https://stackoverflow.com/questions/23498399/replace-preg-replace-to-pre ...
Sieht ziemlich genauso so aus wie der code den du hast.
Grüße