[BUG 4.9.4] conHtmlentities wirft Fehler bei htmlentities()

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
reneb
Beiträge: 18
Registriert: Fr 16. Mai 2008, 09:32
Kontaktdaten:

[BUG 4.9.4] conHtmlentities wirft Fehler bei htmlentities()

Beitrag von reneb » Sa 19. Jul 2014, 22:12

In den error logs taucht (beim Speichern) folgende Meldung auf:

Code: Alles auswählen

[19-Jul-2014 23:02:28] PHP Warning:  htmlentities() [<a href='function.htmlentities'>function.htmlentities</a>]: Invalid multibyte sequence in argument in C...\contenido\includes\functions.php54.php on line 77
Systemvorraussetzung laut Website ist Scriptsprache PHP ab der Version 5.2.3.
5.3.5 ist installiert, von daher sollte dies keine Konflikte geben.

Systeminformationen:
CONTENIDO Version 4.9.4
Webserver-Version Apache/2.2.17 (Win32) mod_ssl/2.2.17 OpenSSL/0.9.8o PHP/5.3.4 mod_perl/2.0.4 Perl/v5.10.1
Installierte PHP-Version 5.3.5
Datenbankserver-Version 5.5.8
PHP-Datenbankerweiterung mysqli

Systemintegrität alles okay/grüner Haken.
Lokale Installation von xampp.


Fehler wird hier geworfen:

Code: Alles auswählen

if (function_exists('conHtmlentities') == false) {

    function conHtmlentities($value, $flags = '', $encoding = '') {
        $isPhp54 = conPhp54Check();


        if ($isPhp54 == 1) {
            $flags = ($flags == '') ? ENT_COMPAT | ENT_HTML401 : $flags;
            $encoding = ($encoding == '') ? 'UTF-8' : $encoding;
        } else {
            $flags = ($flags == '') ? ENT_COMPAT : $flags;
        }
		
        return htmlentities($value, $flags, $encoding);
    }

}
Kann mir vorstellen, dass es damit zu tun hat, dass in der PHP v5.4 sich der Standard-Charset geändert hat. Es passiert jedoch nur beim Speichern.
Gebe ich im Code $encoding aus, kommt utf-8 heraus. Habe die Installation und Datenbanken auch auf utf-8 gestellt. Müsste also okay sein.

Speicher klappt trotzdem. Es taucht eben nur der Fehler im error log auf...

Vielleicht kann ja jemand was damit anfangen?!


Danke!

Lieben Gruß,
René

reneb
Beiträge: 18
Registriert: Fr 16. Mai 2008, 09:32
Kontaktdaten:

Re: [BUG 4.9.4] conHtmlentities wirft Fehler bei htmlentitie

Beitrag von reneb » Di 22. Jul 2014, 22:32

Verifiziert mit neuer Vollinstallation von 4.9.4 mit Beispielmandat und -inhalten.

Code: Alles auswählen

[22-Jul-2014 23:31:33] PHP Warning:  htmlentities() [<a href='function.htmlentities'>function.htmlentities</a>]: Invalid multibyte sequence in argument in C:\xampp\htdocs\CONTENIDO_4.9.4\contenido\includes\functions.php54.php on line 76
Dort besteht das Problem auch. Man merkt nichts, nur das Error-Log läuft fleißig voll ;-)

reneb
Beiträge: 18
Registriert: Fr 16. Mai 2008, 09:32
Kontaktdaten:

Re: [BUG 4.9.4] conHtmlentities wirft Fehler bei htmlentitie

Beitrag von reneb » Di 22. Jul 2014, 22:38

Scheint ein Problem des Environments zu sein.

Hier:

Code: Alles auswählen

Installierte Versionen
CONTENIDO Version	4.9.4
Webserver-Version	Apache
Installierte PHP-Version	5.3.28
Datenbankserver-Version	5.5.31-1~dotdeb.0-log
PHP-Datenbankerweiterung	mysqli

PHP-Einstellungen
date.timezone	Europe/Berlin
include_path	.:/usr/share/pear/php5.3
memory_limit	128M
upload_max_filesize	8M
post_max_size	8M
max_execution_time	30
max_file_uploads	50
max_input_time	60
sql.safe_mode	Deaktiviert
disable_classes	nichts deaktiviert
disable_functions	nichts deaktiviert
funktioniert es problemlos.

Lieben Gruß,
René

mischa.holz
Beiträge: 86
Registriert: Do 28. Jun 2012, 15:30
Wohnort: Darmstadt
Kontaktdaten:

Re: [BUG 4.9.4] conHtmlentities wirft Fehler bei htmlentitie

Beitrag von mischa.holz » Mi 23. Jul 2014, 12:42

Taucht der Fehler eventuell nur bei bestimmten Artikeln auf?
CONTENIDO Doku - API Doku - Git Repo - Bug Tracker - CONTENIDO 4.9.4!!
Arbeitet nicht mehr bei 4fb

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: [BUG 4.9.4] conHtmlentities wirft Fehler bei htmlentitie

Beitrag von rethus » Fr 1. Aug 2014, 19:31

Wilkommen im Club, aber ich bin vor ein paar Tagen ausgetreten... will heißen, ich hatte das gleiche Problem.
Ich habe dann auf PHP 5.5 upgegradet, 5.4 würde aber auch schon reichen.

Ich bin den Code step by step durchgegangen, dieser hat intern eine Weiche mit welchen Parametern er die Abfrage unter 5.3 und >=5.4 durchführt.
Wie gesagt, nach php-Upgrade war das Problem behoben.
In den htmlentities den Parameter "ENT_IGNORE" mit anzufügen hilft zwar indem es nur die Fehlerhaften Zeichen und nicht den gesamten geprüften String verwirft, aber es ist eher eine Frikel-Lösung die ich nicht empfehlen würde.


BTW: Deine Frage wurde hier schon in einem Thread aufgeworfen. Bitte immer erst die Suche nutzen: http://forum.contenido.org/viewtopic.ph ... mlentities
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

Antworten