Le 20/11/2012 23:19, Bzzz a écrit : > Salut liste, > > j'utilisais depuis un moment un script PHP achetement pratique puisqu'il > permet d'appeler d'autres scripts en n'importe quel langage sans passer > par les lourdeurs de fcgi. > > Le PB, c'est que depuis le dist upgrade en wheezy, ben ça môrchepû > (erreur 404) au lieu de la page Pale d'awstats:( > > Je subodore un PB PHP mais c'est pas mon truc ça. > Il-y-a t'il une bonne âme qui pourrait me dire d'où ça pourrait venir? > > > > <?php > > // Piqué sur: > http://forum.slicehost.com/index.php?p=/discussion/2561/setup-awstats-on-my-nginx-server/p1 > > $descriptorspec = array( > 0 => array("pipe", "r"), // stdin is a pipe that the child will read from > 1 => array("pipe", "w"), // stdout is a pipe that the child will write to > 2 => array("pipe", "w") // stderr is a file to write to > ); > > $newenv = $_ENV; > $newenv["SCRIPT_FILENAME"] = $_ENV["X_SCRIPT_FILENAME"]; > $newenv["SCRIPT_NAME"] = $_ENV["X_SCRIPT_NAME"]; > > if (is_executable($_ENV["X_SCRIPT_FILENAME"])) { > $process = proc_open($_ENV["X_SCRIPT_FILENAME"], $descriptorspec, $pipes, > NULL, $newenv); > if (is_resource($process)) { > fclose($pipes[0]); > $head = fgets($pipes[1]); > while (strcmp($head, "\n")) { > header($head); > $head = fgets($pipes[1]); > } > fpassthru($pipes[1]); > fclose($pipes[1]); > fclose($pipes[2]); > $return_value = proc_close($process); > } > else { > header("Status: 500 Internal Server Error"); > echo("Internal Server Error (500) - SCRIPT > /usr/lb/cgi-bin/cgi-bin.php THAT ALLOWS LANGUAGE-X SCRIPTS CALLS"); > } > } > else { > header("Status: 404 Page Not Found"); > echo("Page Not Found (404) - SCRIPT /usr/lb/cgi-bin/cgi-bin.php THAT > ALLOWS LANGUAGE-X SCRIPTS CALLS"); > } > ?> > >
Il n'y a pas particulièrement de raisons pour que cela ne marche plus, si le script renvoie 404, c'est que le script appelé n'est pas exécutable ou n'existe pas. De là, il faudrait dumper la variable $_ENV["X_SCRIPT_FILENAME"] pour voir ce qu'elle contient réellement, et vérifier que le script appelé est bien exécutable ou qu'il n'y a pas de problèmes de droits. Rajoute var_dump($_ENV["X_SCRIPT_FILENAME"]); avant la condition if pour voir. -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe" vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: http://lists.debian.org/50ac2b9c.2080...@goldenfish.info