Vous connaissez certainement tous PHP, mais qui d'entre vous peut me dire comment utiliser la commande `php' ?
Une lecture attentive de la page man me dit qu'on peut utiliser `php -f mon_script.php' pour exécuter une script PHP, avec `php -r mon_code' je peux aussi directement exécuter du code PHP. Mais comment passer les paramètres que passe habituellement le serveur à PHP ? Par exemple les variables $_SERVER, $_GET ou $_POST ?
Il semble que la commande n'accepte pas l'utilisation simultanée des options -r (pour passer les variables directement en PHP, par exemple) et -f (pour le script). On peut aussi penser à créer un nouveau script à passer en argument au programme qui concatène les modifications des variables serveur et le script PHP, mais bon c'est assez lourd.
Peut-être la solution se trouve-t-elle dans les argument de la commande PHP, dont le man ne donne pas assez d'informations à ce sujet. Peut-être ce programme s'utilise-t-il comme un programme CGI et les variables doivent-y être passées de la même façon (mais bon, je ne connais rien aux CGI) ?
Puisse-tu m'aider cher journal !
PS: Sur ce je vais lire de la doc sur CGI.
# Re: PHP /usr/bin/php
Posté par Laurent J (site web personnel, Mastodon) . Évalué à 1.
par contre tu peux avoir des arguments en ligne de commande.
mieux : tu peux te passer de l'appel de php, juste en mettant
#!/usr/bin/php
au début de ton script php
tu le rend executable et ensuite, en ligne de commande :
#> ./monscript.php arg1 arg2 arg3
tu recupère les arguments dans une variables $argv ou un truc comme ça..
[^] # Re: PHP /usr/bin/php
Posté par MagicNinja . Évalué à 2.
Elles seront présentes dans la variable $_SERVER. La présence et la valeur des entrées de ce tableau sont réglés par la directive variables_order.
http://fr.php.net/variables.predefined(...)
[^] # Re: PHP /usr/bin/php
Posté par Epsos . Évalué à 0.
[^] # Re: PHP /usr/bin/php
Posté par Hardy Damien . Évalué à 2.
et les parametres sont dans
$_SERVER['argc'] pour leur nombre
et
$_SERVER['argv'] pour le tableau de valeur
<?php
print_r($GLOBALS);
?>
t'en dira plus sur les variables disponibles en mode client.
Dam
[^] # Re: PHP /usr/bin/php
Posté par Laurent J (site web personnel, Mastodon) . Évalué à 1.
y a bien $_SERVER
tout est ici
http://fr.php.net/manual/fr/features.commandline.php(...)
on recupere donc les paramètres dans
$argv et $argc si register_argc_argv=on
et dans
$_SERVER['argv'] et $_SERVER['argc']
# Re: PHP /usr/bin/php
Posté par neil . Évalué à 0.
Mais bon ça ne marche pas pour GET et compagnie...
A suivre
# Re: PHP /usr/bin/php
Posté par . Takhi . Évalué à 1.
wget http://_servername_/_path_/monscript.php?plop=truc(...)
Autre solution si pas de serveur http:
php -f monscript_wrap.php dans lequel tu peux avoir:
<? $_GET["mavar"]="plop";
include("monscript.php" );
?>
De toute maniere si ton script est ecrit pour du web et que tu veux l'utiliser dans un contexte non web ,
il vaudrait peut etre mieux commencer par revoir le script ....
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.