Seite 1 von 1

PHP 5.4

Verfasst: Do 25. Jul 2013, 10:25
von Peer
Hallo,

mein PHP wurde umgestellt auf die Version 5.4.
Nun bekomme ich bei meinem Gästebuch (Eingabe) folgende Fehlermeldung
Strict Standards: Declaration of cApiModuleCollection::create() should be compatible with ItemCollection::create() in /var/www/web37/html/system/contenido/classes/contenido/class.module.php on line 68 Strict Standards: Declaration of cApiModuleTranslationCollection::create() should be compatible with ItemCollection::create() in /var/www/web37/html/system/contenido/classes/contenido/class.module.php on line 1029
und bei meinem Kalender den Fehler
Deprecated: Function eregi() is deprecated in /var/www/web37/html/system/cms/front_content.php(922) : eval()'d code on line 918
Hat jemand einen Hinweis für mich?

Vielen Dank

Gruß

Re: PHP 5.4

Verfasst: Do 25. Jul 2013, 11:52
von xmurrix
Hallo Peer,

wegen der Strict-Warnungen kannst du die error_reporting-Einstellung anpassen.
Öffne die Datei contenido/includes/config.misc.php und Ändere die error_reporting-Einstellung in:

Code: Alles auswählen

error_reporting (E_ALL & ~(E_STRICT | E_NOTICE));
Und die Verwendung von eregi() solltest du gegen preg_match() ersetzen.

Gruß
xmurrix

Re: PHP 5.4

Verfasst: Do 25. Jul 2013, 12:04
von Peer
Danke für deine Antwort

Wo finde ich den diese eregi() ??

Re: PHP 5.4

Verfasst: Do 25. Jul 2013, 13:21
von xmurrix
...Wo finde ich den diese eregi() ??...
Das muss in irgendeinem Modul vorkomen, prüfe den Code in den Modulausgaben.

Gruß
xmurrix

Re: PHP 5.4

Verfasst: Do 25. Jul 2013, 22:12
von Peer
Hallo xmurrix,

danke für deine Hilfe.
Leider haben beide Ansätze nicht so dem gewünschten Erfolg geführt.

Hast du noch andere Ansätze ?

Vielen Dank

Gruß

Re: PHP 5.4

Verfasst: Do 25. Jul 2013, 22:32
von xmurrix
Hier gibt es einige inweise und alternative Lösungsmöglichkeiten zum error_reporting:
http://stackoverflow.com/questions/9983 ... in-php-5-4

Was das eregi() betrifft, so kann das auch im Layout vorkommen und auch in Dateien, die im Frontend per include/require eingebunden werden.
Die Fehlermeldung

Code: Alles auswählen

Deprecated: Function eregi() is deprecated in /var/www/web37/html/system/cms/front_content.php(922) : eval()'d code on line 918
dass eregi() in Zeile 918 des Artikelcodes im Frontend verwendet wird.

Öffne die Datei cms/config.php und setze darin die Einstellung

Code: Alles auswählen

$force = 1;
(Sorgt dafür, dass derPHP- Code der Seite jedesmal neu generiert wird)

Öffne die Datei contenido/includes/config.misc.php und setze darin die Einstellung

Code: Alles auswählen

$cfg["debug"]["codeoutput"] = true;
(Gibt im Frontend oben links ein Textfeld mit dem HTML- und PHP-Code der Seite aus)

Danach wirst du im Frontend nach dem Aktualisieren der Seite, in der der Fehler vorkommt, oben links ein Textfeld sehen. Kopiere den Inhalt in einen Texteditor und du solltest in der Zeile 918 das erregi() finden. Fallst du dir nicht sicher bist, in welcher Seite der Fehler vorkommt, dann prüfe einfach alle Seiten...

Gruß
xmurrix