um euch wie auch uns die Arbeit ein wenig zu erleichtern möchten wir euch bitten dieses Bugreport Howto als Grundlage eurer Bugmeldungen zu machen. Sinngemäß (bis auf die Betreffzeile, die aber dennoch einen aussagekräftigen Titel haben soll!) gilt das auch für Fragen bei Problembeschreibungen, was die benötigten Informationen angeht.
Damit wir gleich auf Anhieb wissen, dass es sich um einen Bug handelt und welche Version betroffen ist für den Betreff:
[BUG 4.9.13] kurzer aussagekräftiger Titel
Sobald wir den Bug bestätigt haben, wird der Thread dann ins entsprechende Forum verschoben. Im anderen Fall entfernen wir den Bughinweis im Titel.
Im Inhaltsbereich möchten wir euch dann um folgende Infos bitten, welche man per Copy&Paste im Contenido Backend entnehmen kann.
(Hier mal ein Beispiel aus einer meiner Demoinstallationen)
Server Betriebssystem Apache/2.0.54 (Fedora) DAV/2 PHP/5.2.9 mod_python/3.1.4 Python/2.4.3 mod_ssl/2.0.54 OpenSSL/0.9.7f SVN/1.2.3 mod_perl/2.0.1 Perl/v5.8.6
PHP Datenbankerweiterung mysql
Datenbankserver-Version 5.1.33
Installierte PHP-Version 5.2.9
safe_mode Deaktiviert
magic_quotes_gpc Deaktiviert
magic_quotes_runtime Deaktiviert
gpc_order
memory_limit 60M
max_execution_time 120
Deaktivierte Funktionen nichts deaktiviert
Gettext Erweiterung geladen
sql.safe_mode Deaktiviert
Nun fehlt nur noch der Inhalt eines eventuell vorhandenen ErrorLogs, bei dem ihr bitte alle Teile die auf euch, bzw. euren Server schließen lassen, z.B. Pfade bzw. Domainnamen, durch XXX unkenntlich macht. Hier mal ein Beispiel, bei dem zusätzlich der PHP-Debugger aktiv ist, was eine Nachverfolgung (Trace) des Ablaufs in PHP ermöglicht.
Code: Alles auswählen
[03-May-2010 14:54:19] PHP Warning: mysql_real_escape_string() expects parameter 1 to be string, array given in /srv/www/_dev/con4812/conlib/db_mysql.inc on line 434
[03-May-2010 14:54:19] PHP Stack trace:
[03-May-2010 14:54:19] PHP 1. {main}() /srv/www/_dev/con4812/contenido/logout.php:0
[03-May-2010 14:54:19] PHP 2. page_open() /srv/www/_dev/con4812/contenido/logout.php:56
[03-May-2010 14:54:19] PHP 3. Auth->start() /srv/www/_dev/con4812/conlib/page.inc:51
[03-May-2010 14:54:19] PHP 4. Contenido_Challenge_Crypt_Auth->auth_loginform() /srv/www/_dev/con4812/conlib/auth.inc:143
[03-May-2010 14:54:19] PHP 5. include() /srv/www/_dev/con4812/conlib/local.php:550
[03-May-2010 14:54:19] PHP 6. RequestPassword->renderForm() /srv/www/_dev/con4812/contenido/main.loginform.php:227
[03-May-2010 14:54:19] PHP 7. cHTMLTextbox->cHTMLTextbox() /srv/www/_dev/con4812/contenido/classes/class.request.password.php:245
[03-May-2010 14:54:19] PHP 8. cHTMLFormElement->cHTMLFormElement() /srv/www/_dev/con4812/contenido/classes/class.htmlelements.php:795
[03-May-2010 14:54:19] PHP 9. cHTML->cHTML() /srv/www/_dev/con4812/contenido/classes/class.htmlelements.php:550
[03-May-2010 14:54:19] PHP 10. getEffectiveSetting() /srv/www/_dev/con4812/contenido/classes/class.htmlelements.php:133
[03-May-2010 14:54:19] PHP 11. cApiClientLanguage->cApiClientLanguage() /srv/www/_dev/con4812/contenido/includes/functions.general.php:1006
[03-May-2010 14:54:19] PHP 12. Contenido_Security::escapeDB() /srv/www/_dev/con4812/contenido/classes/contenido/class.clientslang.php:82
[03-May-2010 14:54:19] PHP 13. DB_Sql->escape() /srv/www/_dev/con4812/contenido/classes/class.security.php:231
[03-May-2010 14:54:19] PHP 14. mysql_real_escape_string() /srv/www/_dev/con4812/conlib/db_mysql.inc:434
Sehr hilfreich sind in manchen Fällen Screenshot, evtl. mit Markierungen der betroffenen Bereiche. Solltet ihr euch also nicht sicher sein ob ihr den Fehler ausreichend erklären konntet, so macht einen Screenshot davon und hängt ihn als Datei an, wobei ihr folgende Punkte beachten solltet.
- entfernt alle persönlichen oder copyrightrelevanten Inhalte, bzw. macht sie unkenntlich.
- Optimiert eure Bilddatei in der Größe, ein Screenshot mit 1, 2 oder mehr MB ist nicht nur schlecht zu händeln sondern definitiv zu groß. Maximal 150-200 kB sollten hier ausreichen
- Ladet euren Screenshot lieber im Forum als Anhang hoch, bevor ihr ihn von Fremdservern oder Bilderdiensten verlinkt. Viele Posts hier im Forum ergeben inzwischen wegen fehlender Bilder kaum noch Sinn, wenn nicht sogar gar keinen Sinn mehr.
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
Stellt keine Links zu PHP-Info-Dateien oder schreibt keine Zugangsdaten zu Backends öffentlich in eure Postings. Sollten wir solche Daten benötigen so fragen wir sie an. Ein Austausch sollte nur per persönlicher PN oder auf anderen direkten Wegen (E-Mail, Skype, etc) erfolgen. Das gilt entsprechend auch für den folgenden Punkt.
Server- und PHP-Logs
Ergänzend können diese Logdateien interessant sein, zumal wenn im Contenido Errorlog keine Einträge zu finden sind. Doch auch hier gilt der Datenschutz als ein wichtiges Kriterium. Daher, wenn ihr solche Logs nutzen wollt und könnt, macht alle Datenschutz-relevanten Daten, wie z.B. IP-Adresse in Apache-Logs, zumindest unkenntlich oder noch besser, gebt nur an das ihr dort eine Zugriffsmöglichkeit habt und gebt diese Logs nur per "privater" Kommunikation und evtl. nur den betroffenen Teil heraus.
Wir möchten uns schon im Vorfeld bei euch für eure Mühe bedanken. Für uns sind diese Informationen bei der Suche des Fehlers und für die Nachvollziehbarkeit wichtig und sehr hilfreich. Auserdem vermeiden wir dadurch unnötige Nachfragen.
Gruß aus Franken
Ortwin