Deinhat ein "../" zu viel.PHP-Code:
require_once("../../MyBB/global.php");
Deinhat ein "../" zu viel.PHP-Code:
require_once("../../MyBB/global.php");
Hast du es mal mit dem absoluten Pfad zur global.php versucht?
Der aktuelle Pfad mag anders sein, wenn du dir Datei direkt aus dem Browser aufrufst (wie bei deinen erfolgreichen Versuchen) oder wenn sie aus Contao heraus geladen wird.
Edit: Spooky ist spooky schnell...
Absoluter Pfad ist nicht notwendig. Es ist momentan nur ein ../ zu viel.
Das wäre zu einfach gewesen. Bin ich auch schon drauf gekommen, da bei der anderen php Einbindung, auch nur ein ../ stand und beide sind ja auf der gleichen Ebene.
Habe jetzt auch mal die htaccess Datei im Verzeichnis templates umbenannt. Ohne Erfolg
Und den Seitencache komplett neu aufgebaut.
https://boulderrausch.de/ ist nicht erreichbar.
Was steht im log?
[29-Jun-2018 09:50:40 Europe/London] PHP Fatal error: require_once(): Failed opening required '../global.php' (include_path='.:/opt/php-5.6/lib/php') in /var/www/boulderr/htdocs/contao3/templates/lastpost_mybb.php on line 4
[29-Jun-2018 09:52:03 Europe/London] PHP Fatal error: Call to a member function simple_select() on null in /var/www/boulderr/htdocs/MyBB/inc/class_datacache.php on line 109
Scheinbar hast du ein ../ zu viel entfernt
Dann liegt jetzt ein anderer Fehler vor, der in einem anderen Log steht.
500er Fehler sind immer kompliziert, weil in den normalen Logdateien nichts auftaucht. Oftmals sind Syntaxfehler eine Ursache.
Ich würde die eingebundene PHP erstmal leermachen/auskommentieren und danach Zeile für Zeile wieder aktivieren - bis der 500er auftritt.
Viele Grüße
Frank
Seit Mai 2013 Fan von Contao
Webmaster vom Deutschen Schachbund und Berliner Schachverband
Mein Blog: Schachbulle
Meine Erweiterungen bei GitHub
Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung
$_SERVER['DOCUMENT_ROOT']
Daran wird es aber wohl nicht liegen, wenn die global.php richtig eingebunden wird. Du müßtest ja im error.log eine Meldung haben. Schreibe doch mal
in die jeweils letzte Zeile, bevor Du zu while kommst (while auskommentieren). Wenn das "Hallo" ausgegeben wird, läuft das Skript bis dahin fehlerlos.PHP-Code:
echo 'Hallo';
Viele Grüße
Frank
Seit Mai 2013 Fan von Contao
Webmaster vom Deutschen Schachbund und Berliner Schachverband
Mein Blog: Schachbulle
Meine Erweiterungen bei GitHub
Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung
Es kommt auf der Starseite:Code:<?php //define("IN_MYBB", 1); //require_once("../MyBB/global.php"); // Change this if needed // Change this to your PHPBB3 path (no trailing slash "/") //$urlPath = "http://forum.boulderrausch.de"; //$tlimit = 3; // How many titles you want //$query = $db->query("SELECT * FROM ".TABLE_PREFIX."threads ORDER BY `tid` DESC LIMIT $tlimit"); //$list = ''; //while($fetch = $db->fetch_array($query)) echo ‘Hallo’; //{ //$list .= " <strong><a href=\"$urlPath/showthread.php?tid={$fetch['tid']}\" target=\"_blank\">".htmlspecialchars_uni($fetch['subject'])."</a></strong>"; //$poster = "<a href=\"$urlPath/member.php?action=profile&uid=".$fetch['uid']."\">{$fetch['username']}</a>"; //$list .= " Created by: {$poster} "; //$list .= " <i>" .$fetch['replies']. " Replies</i>"; //$list .= " <i> , " .$fetch['views']. " Views</i> "; //$list .= " (<i>Last post by: " .$fetch['lastposter']. "</i>)<br /><br />"; //} //output //echo $list; ?>
Forum-Bouldern
‘Hallo’
Also kann die global.php nicht angesprochen werden???
Aber warum wird sie angesprochen, wenn ich über “files” gehe?
In Deiner PHP-Datei hast Du aber alles auskommentiert. Laß doch mal bitte wenigstens das require drin. Wenn dann das "Hallo" kommt, klappt auch require. Steht kein "Hallo" da, ist der Pfad im require falsch. Außerdem solltest Du die Datei auch direkt im Browser aufrufen können - ohne Contao. Egal ob files oder templates. Wenn die PHP-Datei allein läuft, kannst Du die Einbindung in Contao vornehmen.
Viele Grüße
Frank
Seit Mai 2013 Fan von Contao
Webmaster vom Deutschen Schachbund und Berliner Schachverband
Mein Blog: Schachbulle
Meine Erweiterungen bei GitHub
Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung
Wenn ich require aktiviere, kommt sofort error 500.
Wenn ich die Datei über den Browser aufrufe, wird die Seite nicht gefunden.
https://boulderrausch.de/lastpost_mybb.php
https://boulderrausch.de/templates/lastpost_mybb.php
Diese Datei wird gefunden.
https://boulderrausch.de/files/lastpost_mybb.php
"Wenn die PHP-Datei allein läuft, kannst Du die Einbindung in Contao vornehmen"
Das ist doch gerade das Problem. Im files-Verzeichnis läuft sie, im templates-Verzeichnis nicht. Oder wie lautet der richtige Pfad für das templates Verzeichnis, damit ich diese im Browser aufrufen kann?
Ob nun files oder templates ist völlig nebensächlich. Beide Ordner sind in Contao 3 auf derselben Ebene.
Außerdem stimmt Deine Aussage nicht: "Seite nicht gefunden" (404) kommt bei Dir nicht, sondern ein 403-Fehler. Nimm die .htaccess-Datei testweise aus dem templates-Ordner raus, dann klappt auch der Aufruf im Browser. Wenn die PHP-Datei fertig ist und läuft, machst Du die .htaccess wieder rein und bindest die PHP-Datei in Contao ein.
P.S. Benutze bitte keine Sonderzeichen bei Deinem "Hallo".
Viele Grüße
Frank
Seit Mai 2013 Fan von Contao
Webmaster vom Deutschen Schachbund und Berliner Schachverband
Mein Blog: Schachbulle
Meine Erweiterungen bei GitHub
Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung
Habe die .htaccess in htaccess im templates Verzeichnis umbenannt. Der Aufruf ist nicht möglich
https://boulderrausch.de/lastpost_mybb.php
Beim Aufruf dieser Seite bekomme ich einen Error 404!
Das kann doch auch nicht gefunden werden, da die Datei im templates Verzeichnis liegt, über das angeblich nicht im Browser aufgerufen werden kann.
Was meinst du mit Sonderzeichen in Hallo?
Geändert von Maiurb (29.06.2018 um 15:54 Uhr)
Viele Grüße
Frank
Seit Mai 2013 Fan von Contao
Webmaster vom Deutschen Schachbund und Berliner Schachverband
Mein Blog: Schachbulle
Meine Erweiterungen bei GitHub
Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung
Frank hatte Recht. Die Datei kann über das templates Verzeichnis, auch im Browser aufgerufen werden.
Aber sobald ich die .htaccess wieder aktiviere und die Einbindung vornehme überwird eine leere Seite angezeigt.Code:<div id="lastpost_mybb" class="banner"> <h2>Forum-Bouldern</h2> {{file::lastpost_mybb.php}} </div>
Diese Seite funktioniert nicht
boulderrausch.de kann diese Anfrage momentan nicht verarbeiten.
HTTP ERROR 500
Ich weiß leider nicht mehr weiter.
Wichtig ist erstmal das die komplette PHP-Datei standalone funktioniert. Die Einbindung in Contao ist der finale Schritt.
Gesendet von meinem L52 mit Tapatalk
Viele Grüße
Frank
Seit Mai 2013 Fan von Contao
Webmaster vom Deutschen Schachbund und Berliner Schachverband
Mein Blog: Schachbulle
Meine Erweiterungen bei GitHub
Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung
Kann es sein, dass es ein open_basedir Problem ist?
Ruf mal phpinfo() auf in deinem Installationsverzeichnis und schau, ob da bei open_basedir etwas eingetragen ist.
Hmm, dann liegt es daran wohl nicht. Da sollte ja unter anderem alles in und unterhalb von htdocs zugreifbar sein. Insbesondere auch die htdocs/MyBB/global.php, sofern das Verzeichnis nicht auf andere Art geschützt ist.
Fehler 500 kommt auch ganz gern mal, wenn die PHP-Datei nicht UTF8 ohne BOM kodiert ist. Kommt kein Fehler außer dem 500, wenn die Fehlerausgabe im Frontend aktiviert ist?
Ich habe ein MyBB auf einer meiner Seiten zu laufen. Und glücklicherweise noch eine alte C3-Installation. Der Direktaufruf in templates klappt einwandfrei. Beim Einbinden in Contao mit dem file-Inserttag bekomme ich eine weiße Seite. Nach Aktivierung der Fehlermeldungen stellt sich der Pfad in require als falsch heraus. Wenn ich dort den "richtigen" eintrage, funktioniert die Einbindung der in global.php inkludierten Dateien nicht mehr richtig:
Mein Tip: Sprich die Datenbank direkt an und verzichte auf die Inkludierung von global.php. Quellcode gefällig? Ich setze mich mal ran...PHP-Code:
Fatal error: Uncaught exception Error with message Call to a member function simple_select() on null thrown in /mybb-forum/inc/class_datacache.php on line 109
Viele Grüße
Frank
Seit Mai 2013 Fan von Contao
Webmaster vom Deutschen Schachbund und Berliner Schachverband
Mein Blog: Schachbulle
Meine Erweiterungen bei GitHub
Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung
PHP-Code:
<?php
$urlPath = "http://forum.boulderrausch.de";
$mysqli = new \mysqli("Server","Benutzer","Passwort","Datenbank");
if ($mysqli->connect_errno)
{
// Keine Antwort von der Datenbank
echo 'Datenbank nicht erreichbar';
}
else
{
$sql = "SELECT * FROM mybb_threads ORDER BY tid DESC LIMIT 3";
$ergebnis = $mysqli->prepare($sql);
$ergebnis->execute();
$result = $ergebnis->get_result();
$list = '<ul>';
if($row = $result->fetch_object())
{
while($row = $result->fetch_object())
{
echo "<pre>";
print_r($row);
echo "</pre>";
$list .= "<li><strong><a href=\"$urlPath/showthread.php?tid=".$row->tid."\" target=\"_blank\">".$row->subject."</a></strong>";
$list .= " Created by: <a href=\"$urlPath/member.php?action=profile&uid=".$row->uid."\">".$row->username."</a>";
$list .= ", ".$row->replies. " Replies";
$list .= ", " .$row->views. " Views";
$list .= " (Last post by: " .$row->lastposter. ")</li>";
}
}
$list .= '</ul>';
}
echo $list;
?>
Viele Grüße
Frank
Seit Mai 2013 Fan von Contao
Webmaster vom Deutschen Schachbund und Berliner Schachverband
Mein Blog: Schachbulle
Meine Erweiterungen bei GitHub
Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung
Vielen Dank Frank, für deine Bemühungen.
Ich habe heute von einem MyBB Entwickler, ein Skript bekommen, dass sich tadellos einbinden läßt.
Dabei wird die Datenbank abgefragt und nicht die global.php.
So kenne ich es auch von meiner anderen php Implementierung.
Also das Thema hat sich erledigt.
VG Maik
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)