OVH Cloud OVH Cloud

DOCUMENT_ROOT en ligne de commande

7 réponses
Avatar
Olivier Masson
Bonjour,

j'ai besoin de lancer un script php de temps en temps, donc via un cron.
J'ai testé le script en ligne de commande mais, c'est logique,
$_SERVER['DOCUMENT_ROOT'] et consorts ne fonctionnent pas.

Y'a-t-il un équivalent qui fonctionne en ligne de commande ou faut-il
utiliser la constante __FILE__ (mais je ne retrouve pas la racine) ?

Merci.

7 réponses

Avatar
P'tit Marcel
j'ai besoin de lancer un script php de temps en temps, donc via un cron.
J'ai testé le script en ligne de commande mais, c'est logique,
$_SERVER['DOCUMENT_ROOT'] et consorts ne fonctionnent pas.
Y'a-t-il un équivalent qui fonctionne en ligne de commande ou faut-il
utiliser la constante __FILE__ (mais je ne retrouve pas la racine) ?


essaye __FILE__ ou bien $_SERVER['PWD'].


--
P'tit Marcel
stats sur les forums modérés http://www.centrale-lyon.org/ng/

Avatar
Decryptus
Normalement $_SERVER['PWD'] devrait pouvoir t'aider ;)
Avatar
Olivier Masson

essaye __FILE__ ou bien $_SERVER['PWD'].



J'avais évoqué __FILE__ (que j'utilise pour l'instant) et
$_SERVER['PWD'] me renvoie une erreur (du moins sur windows ; pas testé
sous linux mais le but est que ça fonctionne partout.)
Merci qd même.

Avatar
Decryptus
Au début de ton script en CLI, après l'appel à l'interpréteur fais
:
<?php
print_r($_ENV);
print_r($_SERVER);
die();
?>

Y a surement, une information qui peut te servir pour ce que tu
cherches à faire ;)
Avatar
Olivier Masson
Au début de ton script en CLI, après l'appel à l'interpréteur fais
:
<?php
print_r($_ENV);
print_r($_SERVER);
die();
?>

Y a surement, une information qui peut te servir pour ce que tu
cherches à faire ;)


Non justement !
En ligne de commande, rien ne permet de retrouver la racine web. C'est
probablement normal puisque ce php n'est pas lancé par Apache.

Du coup, le plus simple serait que je lance le script par http. Un cron
lynx /web/monscript.php > /dev/null a-t-il des inconvénients ?

Avatar
Decryptus
J'utiliserai plutot wget que lynx ;) et nan je pense pas qu'il y ait le
moindre souci ;)
wget --help :) tu as plein d'options ;) exemple --spider pour ne rien
télécharger.
Avatar
Olivier Masson
J'utiliserai plutot wget que lynx ;) et nan je pense pas qu'il y ait le
moindre souci ;)
wget --help :) tu as plein d'options ;) exemple --spider pour ne rien
télécharger.


ok, merci. Je n'avais pas pensé à wget car je m'en sers uniquement pour
récupérer des données.