Autor Zpráva
nethor
Profil
Zdravím, po upgrade na PHP 5.3.6 na localu (win xp , apache)
mi k mému údivu začalo fungovat odesílání header i po odeslání html výstupu.
projde např. script:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>header</title>
</head><body>
<h1>Header</h1>
<?php 
header('Content-Type: text/html; charset=utf-8'); 
header('Set-Cookie: test=bbbbbb'); 
//header("Location: index.php"); 

echo "<xmp>";
var_dump(headers_list());
echo "</xmp>";

Na ostrém serveru to samozřejmě neprojde.
Jde to na localu (kvůli testování) nějak zakázat?
Kajman
Profil
Mrkněte se, co máte na localu za zapnuté moduly. Asi tam bude něco s bufferem (mod_deflate, nebo něco podobného) - to bych zkusil zakázat.
nethor
Profil
V httpd.conf je #LoadModule deflate_module modules/mod_deflate.so komentovaný, tedy asi vypnutý

Moc nevím, kde to hledat. V Apache(httpd.conf) nebo v PHP(php.ini) ?

Z výpisu phpinfo() by se toho mohlo týkat:

apache2handler
Loaded Modules:
core mod_win32 mpm_winnt http_core mod_so mod_actions mod_alias mod_asis mod_auth_basic mod_authn_default mod_authn_file mod_authz_default mod_authz_groupfile mod_authz_host mod_authz_user mod_autoindex mod_cgi mod_dir mod_env mod_include mod_isapi mod_log_config mod_mime mod_negotiation mod_rewrite mod_setenvif mod_php5

Apache Environment
HTTP_ACCEPT_ENCODING :
gzip, deflate

HTTP Headers Information
Accept-Encoding:
gzip, deflate

PHP Variables
_SERVER["HTTP_ACCEPT_ENCODING"]:
gzip, deflate
Kajman
Profil
A output_buffering v php.ini je vypnutý?
nethor
Profil
Aha,
bylo tam output_buffering = 4096.
nastavil jsem na output_buffering = Off.

A už to správně nefunguje :-)
Warning: Cannot modify header information ... Tak, jak jsem to potřeboval.

Děkuji za pomoc.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: