Gå til innhold

[Løst]PHPBB 3 forum, "mbstring.http_output"-feil


Anbefalte innlegg

Hallo,

 

Jeg holder på å sette opp ett PHPBB3 forum, jeg har kommet så langt som step 1 i prosessen.

 

Her er problemet:

 

mbstring extension check<BR><BR>Required - mbstring is a PHP extension that provides multibyte string functions. Certain features of mbstring are not compatible with phpBB and must be disabled.<BR>Function overloading:<BR>mbstring.func_overload must be set to either 0 or 4.<BR>Yes<BR>Transparent character encoding:<BR>mbstring.encoding_translation must be set to 0.<BR>Yes<BR>HTTP input character conversion:<BR>mbstring.http_input must be set to pass.<BR>Yes<BR>HTTP output character conversion:<BR>mbstring.http_output must be set to pass.<BR>No<BR>

 

 

 

Som dere ser så feiler den på "mbstring.http_output", det jeg har gjort nå er å lage en ".htaccess"-fil som ser slik ut:

 

</P><P>php_flag register_globals 0<BR>php_value mbstring.http_input pass<BR>php_value mbstring.http_output pass<BR>

 

 

 

Og en "php.ini"-fil som ser slik ut:

 

</P><P><?php<BR>// Put all the php.ini parameters you want to change below. One per line.<BR>// Follow the example format $parm[] = "parameter = value";<BR>$parm[] = "php_value mbstring.http_input = pass"<BR>$parm[] = "php_value mbstring.http_output = pass"<BR>$parm[] = "register_globals = Off";<BR>$parm[] = "session.use_trans_sid = 0";<BR>// full unix path - location of the default php.ini file at your host<BR>// you can determine the location of the default file using phpinfo()<BR>$defaultPath = "/usr/local/lib/php.ini"; <BR>// full unix path - location where you want your custom php.ini file<BR>$customPath = "/home/user/public_html/php.ini";<BR>// nothing should change below this line.<BR>if (file_exists($defaultPath)) {<BR>  $contents = file_get_contents($defaultPath); <BR>  $contents .= "\n\n; USER MODIFIED PARAMETERS FOLLOW\n\n";  <BR>  foreach ($parm as $value) $contents .= $value . " \n";<BR>  if (file_put_contents($customPath,$contents)) {<BR>    if (chmod($customPath,0600)) $message = "The php.ini file has been modified and copied";<BR> 	 else $message = "Processing error - php.ini chmod failed";<BR>  } else {<BR>    $message = "Processing error - php.ini write failed";<BR>  }<BR>} else {<BR>  $message = "Processing error - php.ini file not found";<BR>}<BR>echo $message;<BR>?> <BR>

 

PHP.ini fila var noe jeg fant på nettet.

 

Jeg skjønner ikke hva som er feil, det jeg finner på nettet om dette er folk som har problemer med BÅDE input OG output, ikke en av delene.

 

 

 

Takk

Lenke til kommentar
Videoannonse
Annonse

Jøsses, okey, jeg tror det kan være en god ide å si hvor i alle dager du har sakset dette inn fra, for php.ini ser *ikke* slik ut. Etter litt oppryddning ser det nemlig slik ut:

</P><P><?php
// Put all the php.ini parameters you want to change below. One per line.
// Follow the example format $parm[] = "parameter = value";
$parm[] = "php_value mbstring.http_input = pass"
$parm[] = "php_value mbstring.http_output = pass"
$parm[] = "register_globals = Off";
$parm[] = "session.use_trans_sid = 0";
// full unix path - location of the default php.ini file at your host
// you can determine the location of the default file using phpinfo()
$defaultPath = "/usr/local/lib/php.ini";
// full unix path - location where you want your custom php.ini file
$customPath = "/home/user/public_html/php.ini";
// nothing should change below this line.
if (file_exists($defaultPath)) {
 $contents = file_get_contents($defaultPath);
 $contents .= "\n\n; USER MODIFIED PARAMETERS FOLLOW\n\n";
 foreach ($parm as $value) $contents .= $value . " \n";
 if (file_put_contents($customPath,$contents)) {
if (chmod($customPath,0600)) $message = "The php.ini file has been modified and copied";
  else $message = "Processing error - php.ini chmod failed";
 } else {
$message = "Processing error - php.ini write failed";
 }
} else {
 $message = "Processing error - php.ini file not found";
}
echo $message;
?>

Det du må gjøre er å finne den reelle php.ini-filen (litt avhengig av platform), finne en linje som inneholder 'mbstring.http_output' f.eks.

;mbstring.http_output = SJIS

og endre den til

mbstring.http_output = pass

Lenke til kommentar

Den php.ini fila var kun en forsøk på å se om det hadde noen effekt, fant ut at det ikke hadde noen effekt da det er hosten som sto for den fila, men jeg har prøvd å få hjelp av servetheworld.net folka.

 

 

 

 

Jeg har prøvd litt forskjellige ting, som å teste ut forskjellige varianter av .htaccess-fila, funka ikke.

 

Lagd nytt sub-domain for å teste på, funka ikke.

 

Fått de til å sette opp ett sub-domain for å installere, funka ikke.

Lenke til kommentar

Det var da høyst merkelig. mbstring.http_output er PHP_INI_ALL så en .htaccess-fil med

php_value mbstring.http_output 'pass'

skal egentlig fungere :shrug:

 

Red.: Det som er enda mer merkelig er at standard verdi for mbstring.http_output er nettopp pass ... Hvis du kjører phpinfo() vil du få opp en lang liste over innstilinger etc. Hvis mbstring.http_output faktisk er satt til pass eller ikke finnes der så bør du nok høre med phpbb-folka hvorfor det alikevel ikke fungerer.

Endret av Ernie
Lenke til kommentar

Hva i ...?! :omg: De verdiene for mbstring er svært tvilsomme og i mine øyne særdeles illevarslende innstillinger (aka. et svært tydlig tegn på kunnskapsløshet i forhold til mbstring). Med mbstring.encoding_translation satt til off tviler jeg sterkt på om de verdiene vil fungere for noen i det heltatt, og jeg kan garantere at ob_start('mb_output_handler'); uten endringer ikke vil være i nærheten av å fungere for noen andre enn japanesere. Det finnes bare et ord for dette, og det er kunnskapsløshet.

 

Uannsett, du har en lokal endring av mbstring.http_input (aka. endring utenfor php.ini). Disse endringene må ligge i en .htaccess-fil eller i en conf-fil for apache under forutsettning at du ikke har et ini_set-kall før du kjører phpinfo. Hvis du finner ut hvor denne endringen finner sted kan du også endre mbstring.http_output. Uannsett skal det være såpass enkelt som å opprette en .htaccess-fil med innholdet (ev. legge det til hvis filen finnes)

php_value mbstring.http_output 'pass'

i rot-mappen det hvor du installerer phpbb (det vil også påvirke undermappene)

Endret av Ernie
Lenke til kommentar

Stemmer at jeg er kunskapsløs.

 

 

Uannsett, du har en lokal endring av mbstring.http_input (aka. endring utenfor php.ini). Disse endringene må ligge i en .htaccess-fil eller i en conf-fil for apache under forutsettning at du ikke har et ini_set-kall før du kjører phpinfo. Hvis du finner ut hvor denne endringen finner sted kan du også endre mbstring.http_output. Uannsett skal det være såpass enkelt som å opprette en .htaccess-fil med innholdet (ev. legge det til hvis filen finnes)
php_value mbstring.http_output 'pass'

i rot-mappen det hvor du installerer phpbb (det vil også påvirke undermappene)

 

Du mener at jeg skal lage en .htaccess-fil som sier "php_value mbstring.http_output 'pass'"?

 

 

Det er dette jeg har prøvd, og fått høre av Serve The World at skal fungere.

Lenke til kommentar
Stemmer at jeg er kunskapsløs.

Nei, ikke du, servetheworld, for det er vel ikke du som har satt opp php.ini-filen? Det er nemlig de globale innstillingene som er langt på vidda.

 

 
Uannsett, du har en lokal endring av mbstring.http_input (aka. endring utenfor php.ini). Disse endringene må ligge i en .htaccess-fil eller i en conf-fil for apache under forutsettning at du ikke har et ini_set-kall før du kjører phpinfo. Hvis du finner ut hvor denne endringen finner sted kan du også endre mbstring.http_output. Uannsett skal det være såpass enkelt som å opprette en .htaccess-fil med innholdet (ev. legge det til hvis filen finnes)
php_value mbstring.http_output 'pass'

i rot-mappen det hvor du installerer phpbb (det vil også påvirke undermappene)

 

Du mener at jeg skal lage en .htaccess-fil som sier "php_value mbstring.http_output 'pass'"?

 

 

Det er dette jeg har prøvd, og fått høre av Serve The World at skal fungere.

Ja, det skal fungere. Har til og med testet det selv. Hva skjer med de lokale verdiene fra phpinfo hvis du kjører det i en mappe med en .htaccess-fil med det i? Hva skjer når du forsøker å installere i en mappe med .htaccess med det innholdet i?

Lenke til kommentar

Lastet ned phpBB3, og pr. standard ligger det en .htaccess i phpBB3-mappen. Den inneholder

<Files "config.php">
Order Allow,Deny
Deny from All
</Files>

<Files "common.php">
Order Allow,Deny
Deny from All
</Files>

endres den til

php_value mbstring.http_output pass

<Files "config.php">
Order Allow,Deny
Deny from All
</Files>

<Files "common.php">
Order Allow,Deny
Deny from All
</Files>

skal det teoretisk sett fungere.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...