Page 1 sur 1

Guide CGI

Posté : 05 nov. 2007, 20:33
par jed
Bonjour, je dois développer un projet en php cgi. Je connais bien le php5 mais n'ayant (presque) jamais fait de php de cette manière, j'ai plusieurs questions:
-Peut on toujours utiliser les variables $_POST & $_GET ou doit on utiliser $QUERY_STRING?
-Peut on faire de l'objet en cgi?

J'ai cherché pas mal de la doc sur le cgi mais c'est assez restreint.

Posté : 06 nov. 2007, 00:19
par Berzemus
Tu veux dire en CLI ?

ben déjà ça:
http://be.php.net/features.commandline

Et une fonction utile, récupérée dans les commentaires:
function arguments($argv) {
    $_ARG = array();
    foreach ($argv as $arg) {
      if (ereg('--([^=]+)=(.*)',$arg,$reg)) {
        $_ARG[$reg[1]] = $reg[2];
      } elseif(ereg('-([a-zA-Z0-9])',$arg,$reg)) {
            $_ARG[$reg[1]] = 'true';
        }
  
    }
  return $_ARG;
}
Avec ça, c'est facile, tu tapes:

Code : Tout sélectionner

$ php myscript.php --user=nobody --password=secret -p --access="host=127.0.0.1 port=456"
Et tu obtiens un tableau de ce style:

Code : Tout sélectionner

Array ( [user] => nobody [password] => secret [p] => true [access] => host=127.0.0.1 port=456 )
Pour le reste, c'est pareil. Moi, j'adore.

Posté : 06 nov. 2007, 09:41
par jed
Non, je ne parle pas de cli que je connais, mais bien du cgi. Les seules chose qui me posent problème sont les questions posées ci-dessus.

Posté : 06 nov. 2007, 10:13
par Berzemus
Au temps pour moi alors, désolé.

Du coup je connais pas non plus..

Posté : 06 nov. 2007, 11:00
par Hubert Roksor
Il n'y a pratiquement aucune différence entre le module Apache et PHP en CGI. Même en cherchant, la seule différence qui me vient à l'esprit c'est éventuellement le chemin contenu dans $_SERVER['SCRIPT_NAME'] ou d'autres variables similaires, qui pourrait être erroné si tu as mal configuré le CGI. Mon conseil : fais un phpinfo() via mod_php5 puis un autre via CGI et compare.

À part ça, pas de problème avec GET/POST/etc...

Posté : 06 nov. 2007, 11:20
par Sékiltoyai
Et tu ne pourras pas utiliser les fonctions d'apache : http://fr2.php.net/manual/fr/ref.apache.php