Community « Le forum « Soupçons de bogues « Yacs with FastCGI and Suexec ( debian ) «
Comment: Yacs with FastCGI and Suexec ( debian )
| Next >> |
Bien, après avoir effectué plusieurs testes, j'ai trouvé une solution qui semble fonctionner.
J'ai remplacer la fonction header(); de la librairie safe.php par celle-ci :
Maintenant, reste à savoir si on doit tchecker la version du protocol HTTP pour les vieux browser (HTTP/1.0)...
Ce qui me semble dingue ici, c'est qu'il faille faire le contraire de ce qui est recommandé sur plusieurs forums, c'est à dire utiliser HTTP/1.1 losrque que php est exécuté via FastCGI.
En effet, dans plusieurs discussions, j'ai pu voir qu'il fallait utiliser Status dans le cas de FastCGI et HTTP/1.1 dans les autres cas. Bref, j'y comprend pas grand chose mais cela fonctionne.
Si tu veux bien jeter un coup d'oeil Bernard
Note : Je rappelle que ce fix ne concerne que les utilisateurs hébergés sur une machine qui exploite PHP 4 ou 5 en tant que programme CGI via FastCGI.
J'ai remplacer la fonction header(); de la librairie safe.php par celle-ci :
function header($attribute, $replace=NULL, $status=NULL) {
// Fixed: FastCGI error parsing headers
if (substr(php_sapi_name(), 0, 8) == 'cgi-fcgi')
$attribute = str_replace("Status:", "HTTP/1.1", $attribute);
// too late
if(headers_sent()) {
echo $attribute."\n\n";
// function has been allowed
} elseif(is_callable('header')) {
if($status) {
header($attribute, $replace, $status);
} elseif(!$replace) {
header($attribute, $replace);
} else {
header($attribute);
}
}
}
Maintenant, reste à savoir si on doit tchecker la version du protocol HTTP pour les vieux browser (HTTP/1.0)...
Ce qui me semble dingue ici, c'est qu'il faille faire le contraire de ce qui est recommandé sur plusieurs forums, c'est à dire utiliser HTTP/1.1 losrque que php est exécuté via FastCGI.
En effet, dans plusieurs discussions, j'ai pu voir qu'il fallait utiliser Status dans le cas de FastCGI et HTTP/1.1 dans les autres cas. Bref, j'y comprend pas grand chose mais cela fonctionne.
Si tu veux bien jeter un coup d'oeil Bernard
Note : Je rappelle que ce fix ne concerne que les utilisateurs hébergés sur une machine qui exploite PHP 4 ou 5 en tant que programme CGI via FastCGI.
by Nuxwin on Mar. 5
