Newsgroup: it.comp.www.php
Titolo: Una semplice domanda sulla "header"

Salve a tutti; come mai il seguente codice
 
<!DOCTYPE html>
 
<html>
 
<head>
  <title>Hello!</title>
</head>
 
<body>
 
<?php
echo('    ');
header("Location: 
http://www.teprom.altervista.org
");
exit;
?>
 
</body>
</html>
 
 
Viene regolarmente eseguito senza originare nessun errore ?
Da quello che ho letto sulla documentazione della funzione header, � 
necessario che non ci sia nessun output PHP/HTML prima della chiamata alla 
header, mentre in questo codice ci sono i tag HTML e la funzione
echo che stampa spazi vuoti. 
 

 echo che stampa spazi vuoti.
 
Hai l'output buffering abilitato di default nel php.ini, quindi al 
momento della chiamata ad header nessun output è ancora stato mandato al 
browser.
 

 
 
"RedWiz"  ha scritto nel messaggio 
news:l19si9$nfl$2...@virtdiesel.mng.cu.mi.it...

Per disabilitarlo che devo fare ? 
 


Mi sono andato a rivedere i default e c'è questo
; Note: Output buffering can also be controlled via Output Buffering Control
;   functions.
; Possible Values:
;   On = Enabled and buffer is unlimited. (Use with caution)
;   Off = Disabled
;   Integer = Enables the buffer and sets its maximum size in bytes.
; Note: This directive is hardcoded to Off for the CLI SAPI
; Default Value: Off
; Development Value: 4096
; Production Value: 4096
; 
http://php.net/output-buffering
 
output_buffering = 4096
 
In che maniera "Default Value:Off" si concilia con 4096?
Il php.ini di default non è *il* default?
 
-- 
I fatti mi cosano

 Il php.ini di default non è *il* default?
 
Immagino questo dipenda dall'installazione che hai fatto del php.
Io su una wheezy ho la tua stessa configurazione a 4096, magari se lo 
compili te lo ritrovi ad Off.
 
Ciao

 Per disabilitarlo che devo fare ?
 
http://php.net/manual/en/configuration.changes.php
 
 


No, sulla Gentoo è tutto compilato
Scompattando il bz2 dei sorgenti (senza il patchset) si vede questo
 
athlonno php-5.4.17 # grep -rn "output_buffering =" *
php.ini-development:243:output_buffering = 4096
php.ini-production:243:output_buffering = 4096
 
Poi cercando meglio:
athlonno php-5.4.17 # grep -rn "output_buffering" *
....
main/main.c:505:        STD_PHP_INI_ENTRY("output_buffering", 
"0",            PHP_INI_PERDIR|PHP_INI_SYSTEM,  OnUpdateLong, 
output_buffering,              php_core_globals,        core_globals)
....
 
Onestamente mi pare che dire che il default è Off sia quantomeno fuorviante.
Quanti sono quelli che intendono come default il codice sorgente e non 
il file di configurazione _di default_?


 il file di configurazione _di default_?
 
 
Non mettere Off nel php.ini di default, questo fuorviante lo è :)
 
Ciao
 


Sì, mi sono spiegato male
La cosa fuorviante anche secondo me è che conf di default e conf nel 
codice siano discordanti
Se ho due minuti che mi avanzano butto giù un one_liner che mi vada a 
beccare i conf nel php.ini di default e li confronti con il sorgente
 
M


Come si dice in albionese, thank you very much.....
see you next time !!!
 
"RedWiz"  ha scritto nel messaggio 
news:l1bo2f$180$2...@virtdiesel.mng.cu.mi.it...
