Seite 1 von 5
Fehlermeldung beim Aufrufen eines nicht existierenden Beitra
Verfasst: 16.01.2010 17:34
von Dr.Death
Hallo zusammen,
jetzt hab sogar ich mal ein Problem, welches ich nicht durch Eure Hilfe lösen kann. ( Ich habe gerade ein Brett vor dem Kopf )
Beim aufrufen eines nicht existierenden Beitrags:
http://www.lpi-clan.de/viewtopic.php?f=26&t=4299
erhalte ich die Fehlermeldung:
Warning: strtr() [function.strtr]: The second argument is not an array. in /var/www/web16/html/phpbb3/includes/session.php on line 2183
Die includes/sessions.php Zeile 2183 besagt nur:
Code: Alles auswählen
return strtr(@gmdate($date_cache[$format]['format_long'], $gmepoch + $zone_offset), $date_cache[$format]['lang']);
Ich habe mir bereits das zweite Argument ausgegeben (
$date_cache[$format]['lang'] ) und es ist : Leer !
Bei jedem vorhandenem Beitrag ist es ein gefülltes Array.
Die Variable
$date_cache[$format]['lang'] wird im folgenden Block gefüllt:
Code: Alles auswählen
$date_cache[$format] = array(
'is_short' => strpos($format, '|'),
'format_short' => substr($format, 0, strpos($format, '|')) . '||' . substr(strrchr($format, '|'), 1),
'format_long' => str_replace('|', '', $format),
'lang' => $this->lang['datetime'],
);
Demnach ist:
$date_cache[$format]['lang'] = $this->lang['datetime']
Aber wenn ein Topic nicht existiert, wird bei mir anscheinend $this->lang['datetime'] nicht gefüllt ;-(
In der viewtopic.php ist dies der Auslöser:
Sobald man also auf ein nicht vorhandenen ( oder mit fehlender Berechtigung ) Beitrag verweist, wird der Fehler ausgelöst.
Wo starte ich bei der Fehlersuche ???
Re: Fehlermeldung beim Aufrufen eines nicht existierenden Beitra
Verfasst: 16.01.2010 17:38
von bantu
Re: Fehlermeldung beim Aufrufen eines nicht existierenden Beitra
Verfasst: 16.01.2010 18:23
von Dr.Death
Mit Hilfe von Bantu haben wir den Fehler finden können.
Ich nutze u.a. den MOD: Ultimate Points
In einer "alten" Version, oder aber auch durch meine Unachtsamkeit wurde in die Datei " viewtopic.php " folgende Zeile Eingebaut:
Durch diverse Tests in meinem Forum und mit Bantu's Hilfe haben wir ermittelt, das ein "$user->add_lang" nur dann eingesetzt werden kann, wenn vorher ein "$user->setup" stattgefunden hat.
In der aktuellen Version vom MOD: Ultimate Points steht auch folgende Einbauanleitung:
Find
Code: Alles auswählen
// Start session management
$user->session_begin();
$auth->acl($user->data);
Add after
Code: Alles auswählen
// Start Ultimate Points
$user->setup('mods/points');
// End Ultimate Points
Somit habe ich also einen klassischen Einbau Fehler begannen oder ein falschen Update Einbau vorgenommen.
Asche auf mein Haupt

Re: Fehlermeldung beim Aufrufen eines nicht existierenden Beitra
Verfasst: 16.01.2010 18:30
von Flashen-us
Naja, sowas kann jedem passieren und wenn man dann Hilfe von einem der phpBB-Entwickler hat ist das doch auch eine feine Sache.

Re: Fehlermeldung beim Aufrufen eines nicht existierenden Be
Verfasst: 13.01.2012 23:44
von Halloween
Ich hab das gleiche Problem wenn ich meineseite.de/viewtopic.php aurufe. Bekomm die gleiche Fehlermeldung angezeigt. In der session.php ist die Problemzeile genau die gleiche wie oben schon genannt wurde.
Nur hab ich keinen "Punkte-Mod" installiert. Bei mir liegt es wohl an was anderem.
Das ist die genaue Fehlermeldung:
Code: Alles auswählen
Warning: strtr() [function.strtr]: The second argument is not an array in public_html/includes/session.php on line 2175
Warning: strtr() [function.strtr]: The second argument is not an array in public_html/includes/session.php on line 2175
Warning: Cannot modify header information - headers already sent by (output started at public_html/includes/session.php:2175) in public_html/includes/functions.php on line 4808
Warning: Cannot modify header information - headers already sent by (output started at public_html/includes/session.php:2175) in public_html/includes/functions.php on line 4810
Warning: Cannot modify header information - headers already sent by (output started at public_html/includes/session.php:2175) in public_html/includes/functions.php on line 4811
Warning: Cannot modify header information - headers already sent by (output started at public_html/includes/session.php:2175) in public_html/includes/functions.php on line 4812
Fatal error: template->_tpl_load_file(): File /message_body.html does not exist or is empty in public_html/includes/functions_template.php on line 63
In der funtions.php Datei geht es um folgende Zeilen:
Code: Alles auswählen
// application/xhtml+xml not used because of IE
header('Content-type: text/html; charset=UTF-8');
header('Cache-Control: private, no-cache="set-cookie"');
header('Expires: 0');
header('Pragma: no-cache');
return;
Nachdem ich das komplett gelöscht habe wurde zumindest die funtions.php Meldung entfernt. Ob das richtig war die Zeilen zu entfernen weis ich nicht. Kann jedenfalls nichts erkennen ^^.
Re: Fehlermeldung beim Aufrufen eines nicht existierenden Be
Verfasst: 14.01.2012 00:39
von Miriam
Also das Gelöschte pack mal besser wieder rein. Die Fehlermeldung wird "provoziert", weil "Output" vor dem Senden des Headers geschrieben wurde. Und das gibt eben Stress.
Und dieser Output ist die Fehlermeldung aus der /includes/session.php.
Also bei mir steht auf Zeile 2175 der /includes/session.php nichts, was ein Array als Argument verlangt.
Was steht denn bei dir? Verlinke mal bitte deine /includes/session.php mittels PasteBin.
Re: Fehlermeldung beim Aufrufen eines nicht existierenden Be
Verfasst: 14.01.2012 00:41
von Miriam
Miriam hat geschrieben:Also das Gelöschte pack mal besser wieder rein. Die Fehlermeldung wird "provoziert", weil "Output" vor dem Senden des Headers geschrieben wurde. Und das gibt eben Stress.
Und dieser Output ist die Fehlermeldung aus der /includes/session.php.
Also bei mir steht auf Zeile 2175 der /includes/session.php nichts, was ein Array als Argument verlangt.
Was steht denn bei dir? Verlinke mal bitte deine /includes/session.php mittels PasteBin.
Und zeig mal bitte auch gleich die /includes/functions.php her.
Re: Fehlermeldung beim Aufrufen eines nicht existierenden Be
Verfasst: 14.01.2012 01:07
von Halloween
Re: Fehlermeldung beim Aufrufen eines nicht existierenden Be
Verfasst: 14.01.2012 09:08
von Miriam
Auf welcher Board-Version bist denn du? Doch nicht 3.0.10.
Re: Fehlermeldung beim Aufrufen eines nicht existierenden Be
Verfasst: 14.01.2012 10:26
von Halloween
3.0.9
Edit:
Hab jetzt mal nen Update gemacht.
Fehlermeldung sieht jetzt so aus:
Code: Alles auswählen
Warning: strtr() [function.strtr]: The second argument is not an array in public_html/includes/session.php on line 2174
Warning: strtr() [function.strtr]: The second argument is not an array in public_html/includes/session.php on line 2174
Warning: Cannot modify header information - headers already sent by (output started at public_html/includes/session.php:2174) in public_html/includes/functions.php on line 4861
Warning: Cannot modify header information - headers already sent by (output started at public_html/includes/session.php:2174) in public_html/includes/functions.php on line 4862
Warning: Cannot modify header information - headers already sent by (output started at public_html/includes/session.php:2174) in public_html/includes/functions.php on line 4863
Fatal error: template->_tpl_load_file(): File /message_body.html does not exist or is empty in public_html/includes/functions_template.php on line 63
Funtion.php:
http://pastebin.com/vsMZRDqt
Session.php:
http://pastebin.com/5r4X8zPD
Ein weiteres Problem ist dazu gekommen. Der Username etc wird im Post Beitrag nicht mehr angezeigt. Ich weis nicht ob es am Update liegt oder am Mod den ich die letzten Tagen verbaut habe. Ich hoffe viewtopic.php ist die richtige Datei wo der Fehler drinn steckt:
http://pastebin.com/EB8GG7Sp