Seite 1 von 1
php include funktioniert nach update nicht mehr
Verfasst: Do 2. Apr 2009, 08:11
von dosenbrot
Hallo zusammen,
ich bräuchte mal bitte Rat und Hilfe.
Nun habe ich ein Update von meiner 4.8.6 Version von contenido auf die aktuelle 4.8.11 vollzogen.
Seitdem funktioniert mein php include Befehl in einem kleinen Modul nicht mehr.
Ich nutze das bekannte mod_rewrite plugin.
Output:
Code: Alles auswählen
<?php
utf8_decode(@include 'http://www.meinedomain.de/mein-include-inhalt.php');
?>
Das funktionierte bis zur Version 4.8.6 wunderbar. Seit dem Update nicht mehr. Hat jemand eine Idee???
Ich möchte einzelne kleine Seiteninhalte von einer meiner anderen Domains/Websites includen.
Die neueste contenido-Version zeigt zwar in Module auf grün, allerdings erscheint im quelltext der generierten Seite an der Stelle nur eine leere Zeile.
Freue mich über eure Ideen und Lösungsansätze!
Besten Dank und sonnige Grüße!
Re: php include funktioniert nach update nicht mehr
Verfasst: Do 2. Apr 2009, 08:32
von kummer
ich glaube, dazu müsste die direktive allow_url_fopen auf true sein. vermutlich ist das bei dir nicht der fall. ist allerdings auch keine gute idee.
besser: die datei an ihrer quelle ausführen lassen und dann die rückgabe zur ausgabe verwenden.
Re: php include funktioniert nach update nicht mehr
Verfasst: Do 2. Apr 2009, 08:45
von dosenbrot
Hallo Kummer,
danke für deine Ideen!
Leider bin ich nicht der absolute php-Profi.
Wie würde denn dein alternative Vorschlag genau aussehen (an quelle ausführen und rückgabe zur ausgabe verwenden)?
Könntest du mir da netterweise mal einen Beispiel Code-Schnipsel nennen anhand meines Beispiels?
Tausend Dank!

Re: php include funktioniert nach update nicht mehr
Verfasst: Do 2. Apr 2009, 09:07
von kummer
ist ungeprüft, sollte jedoch funktionieren:
Code: Alles auswählen
$content = "";
$header = "not yet";
$fp = fsockopen("www.meinedomain.de/", 80, $errno, $errstr, 30);
$out = "GET /mein-include-inhalt.php HTTP/1.1\r\n";
$out .= "Host: www.meinedomain.de\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while( !feof( $pointer ) ) {
$line = fgets( $pointer, 128 );
if( $line == "\r\n" && $header == "not yet" ) {
$header = "passed";
}
if( $header == "passed" ) {
$content .= $line;
}
}
fclose($fp);
$externalContent = substr( $content, 2 );
$externalContent enthält dann, was die quelle zurückgegeben hat.
aber achtung: das ist dann KEIN include mehr. du kannst also keine variablen setzen, die dann im skript berücksichtigt werden. du wirst erhalten, was du im browser sehen kannst, wenn du die angegebene url dir anschaust. ggf. musst du dir dann den ausschnitt, der dich interessiert aus dem inhalt extrahieren. oder dafür sorgen, dass die php-datei nur inhalte zurück gibt, die du haben willst.
Re: php include funktioniert nach update nicht mehr
Verfasst: Do 2. Apr 2009, 09:28
von dosenbrot
Besten Dank, Kummer!
Allerdings öffnet sich nun meine contenido-Seite nicht mehr, es kommt ein "500 Internal Server Error".
Das Modul steht allerdings auf grün.
Das war doch richtig, dass ich den Code so als ein Modul eingefügt habe und davor "<?php" und am Ende "?>" gesetzt habe?
meinedomain.de und den Dateinamen der einzubindenden Datei habe ich natürlich geändert.
Re: php include funktioniert nach update nicht mehr
Verfasst: Do 2. Apr 2009, 10:49
von dosenbrot
Also mit dem Ansatz bekomme ich es leider nicht realisiert. Ich habe noch etwas anderes über google entdeckt, die Lösung scheint zu funktionieren:
Code: Alles auswählen
<?php
$datei_xy = file_get_contents('http://www.xy.tld/datei_xy.php');
print($datei_xy);
?>
Auf jeden Fall allerbesten Dank!!!!!!!
