ob_start gibt nichts zurueck !

Alles, was PHP betrifft, kann hier besprochen werden.

ob_start gibt nichts zurueck !

Postby DCrosby » 28. April 2009 17:07

Entschuldige, Ich bin ein Amerikaner/Deutscher, der in Deutchland aufgewachen ist also ist mein Technisches Deutsch nicht so "Korrect" aber ich verstehe alles was geschieben wird.

Ich habe ein problem und weiss nicht so genau ob es ein Windows / Apache Problem ist oder ein PHP problem ist, Ich versuche Media Wiki zu installieren, und hatte einen Artickel gefunden der sagte wie man Zwei Wiki's auf einem Server laufen lassen kann.

Hier ist der Artickel
http://www.steverumberg.com/wiki/index. ... Method_One

Was also passieren soll ist das die seite geschpeichert wird mit "Output Buffer" ob_start und dan umgesetzt wird damit die richtigen URL daten ersetzt werden. Mit preg_replace, die sache ist ich habe versucht jede menge "print" und echo lienien hunzuzufuerhren, um herauszufinden wo es abgestuertzt ist. Es scheint zu sein das der "Variable" $text nie etwas zum kauen hatt.
Un deswegen nicht funkzuiniert. $text ist einfach leer.

Ich habe mehr ueber ob_start gelesen, und es sagte...:

Warning

Some web servers (e.g. Apache) change the working directory of a script when calling the callback function. You can change it back by e.g. chdir(dirname($_SERVER['SCRIPT_FILENAME'])) in the callback function.

Also habe ich das hinzugefuegt, und immer noch nichts... ich habe den Wehrt auch in ein print gefuegt, und das Resultat wahr D:\WWW\mediwiki\index.php1, was sich richtig scheint.... Ich weiss also nicht was hier falsh ist aber wolte mal fragen was ihre erfahrung mit ob_start Apache, un windows ist.

Das ganze Program von der seite... :
Code: Select all
 # Use output buffering to convert links to refer to the correct CRE version
 $sr_WikiCode = $_REQUEST['w'];
 if($sr_WikiCode == "")
 {
     die('No valid wiki specified');
 }
 #"http://' . $_SERVER["SERVER_NAME"] . '/index.php'
 #
 $sr_RelLinkPattern = '/"\\/mywiki\\/index.php([^"]*)"/';
 $sr_RelLinkSub = '"/mywiki/index.php$1?w=' . $sr_WikiCode . '"';
 #
 $sr_AbsLinkPattern = '/"http:\\/\\/' . $_SERVER["SERVER_NAME"] . '\\/mywiki\\/index.php([^"]*)"/ <\\/mywiki\\/index.php([^> ';
 $sr_AbsLinkSub = '"http://' . $_SERVER["SERVER_NAME"] . '/mywiki/index.php$1?w=' . $sr_WikiCode . '"';
 #
 function sr_TransformWikiLinks($text)
 {
     global $sr_RelLinkPattern;
     global $sr_RelLinkSub;
     global $sr_WikiCode;
     global $sr_AbsLinkPattern;
     global $sr_AbsLinkSub;
     return preg_replace($sr_AbsLinkPattern, $sr_AbsLinkSub, preg_replace($sr_RelLinkPattern, $sr_RelLinkSub, $text));
 }
 #
 ob_start('sr_TransformWikiLinks');

#and placing the following line at the end of index.php (I don't think it's needed, actually):

 ob_end_flush();


Vielen Dank,

-Derek Crosby
DCrosby
 
Posts: 4
Joined: 28. April 2009 16:37

Re: ob_start gibt nichts zurueck !

Postby Wiedmann » 28. April 2009 17:15

Es scheint zu sein das der "Variable" $text nie etwas zum kauen hatt.

Würde denn so (zum Test) was ausgegeben werden:
Code: Select all
function sr_TransformWikiLinks($text)
{
     return $text;
}
ob_start('sr_TransformWikiLinks');
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: ob_start gibt nichts zurueck !

Postby DCrosby » 29. April 2009 03:18

nein leider ist es immer leer, wen ich die "Regular Expression" mit daten festelege kriege ich das richtige resultat zureueck, aber irgendwie kriegt der puffer nichts zum processieren, deshalb dachte ich es muesste etwas mit Apache und php zutuhn sein, weil der code atnscheinent bei anderen (Kein Windows / Kein Apache) funktioniert.
DCrosby
 
Posts: 4
Joined: 28. April 2009 16:37

Re: ob_start gibt nichts zurueck !

Postby Wiedmann » 29. April 2009 06:43

nein leider ist es immer leer, wen ich die "Regular Expression" mit daten festelege kriege ich das richtige resultat zureueck,

In meinem Testcode gibt's doch gar keine Regex?

wen ich die "Regular Expression" mit daten festelege

Damit meinst du was genau? (Beispiel)
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: ob_start gibt nichts zurueck !

Postby Nobbie » 29. April 2009 11:18



"No valid wiki specified.php"
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: ob_start gibt nichts zurueck !

Postby DCrosby » 29. April 2009 16:40

ich hatte an einem punkt die regex abegeaendert,

Ich bin jetzt zu-hause, aber auf der Arbeit hatte ich den code editiert, um die eingabe fron $text festzuelegen, und andere regex formularen zu probieren.

sagen wir mal ds cookie ist mit "hallo" populiert.
Code: Select all
$sr_RelLinkPattern = '/"index.php"/';
$sr_RelLinkSub = '"etwasNeues.php?w=' . $sr_WikiCode . '"';
print preg_replace($sr_RelLinkPattern, $sr_RelLinkSub, "http://www.irgendwo.com/inex.php");


und kriegete ungefaehr sowas zurueck : http://www.irgendwo.com/etwasNeues.php?w=hallo
als Ich das fest gelegt hatte dachte ich das alles funktionierte, und habe is nochmal ausprobiert, aber leider war $text immer leer wenn ich ein [print $text;] benutzte. Und die seite blank.
DCrosby
 
Posts: 4
Joined: 28. April 2009 16:37

Re: ob_start gibt nichts zurueck !

Postby DCrosby » 29. April 2009 16:43

Nobbie wrote:


"No valid wiki specified.php"



das cookie ?w= muss pupuliert sein, oder du musst den wert herrausnehemen, und mit einem wehrt ersetzten.

Code: Select all
$sr_WikiCode = $_REQUEST['w'];


mit

Code: Select all
$sr_WikiCode = "meinTest";


ersetzen
DCrosby
 
Posts: 4
Joined: 28. April 2009 16:37


Return to PHP

Who is online

Users browsing this forum: No registered users and 20 guests