SAlut tous le monde
J'ai besoin d'exécuter un fichier .php en ligne de commande , mais le problème que ce fichier fait appel à d'autres avec 'require_once et require'
Quelqu'un a une proposition?
Merci
Version imprimable
SAlut tous le monde
J'ai besoin d'exécuter un fichier .php en ligne de commande , mais le problème que ce fichier fait appel à d'autres avec 'require_once et require'
Quelqu'un a une proposition?
Merci
Si les scripts à inclure sont à retrouver relativement au script initialement exécuté il suffit de se baser sur dirname(__FILE__) pour leurs chemins au niveau de l'inclusion (équivalent de la constante __DIR__ depuis 5.3.0).
Merci,
tu peut simplifier un peux 8O
Exemple, si on a :
On exécute main.php via :Code:
1
2
3 /X/Y/main.php /X/lib/graph.php /X/lib/functions.php
Et dans main.php, pour inclure ../lib/*.php, il faut utiliser :Code:php /X/Y/main.php
Puisque, en CLI, PHP ne modifie pas le répertoire courant pour celui du script initialement exécuté comme c'est le cas en contexte web. Donc, pour retrouver le chemin du script exécuté il faut utiliser dirname(__FILE__).Code:
1
2 require_once(realpath(dirname(__FILE__) . '/../lib/graph.php')); require_once(realpath(dirname(__FILE__) . '/../lib/functions.php'));
(en sachant que depuis la version 5.3.0, on peut remplacer dirname(__FILE__) par la constante __DIR__).