2010-05-18 3 views
1

J'ai 2 serveurs qui sont sur des configurations et systèmes d'exploitation complètement séparés. On accepte correctement require_once '../file.php'; et l'autre pas, parce que c'est relatif à l'endroit où le cron est en train de se charger, je suppose.Activer le bon chemin relatif dans cron

Comment puis-je corriger le 2ème emplacement afin que son chemin relatif soit à partir du chemin relatif du fichier. J'ai besoin de cela pour travailler dans 3 environnements différents (local, bêta et live) donc je ne veux pas écrire beaucoup de code sur cette page, je préférerais un ajustement de configuration si possible.

+0

duplication possible de [Chemin relatif ne fonctionne pas dans le script cron PHP] (http://stackoverflow.com/questions/1969374/relative-path-not-working-in-cron-php-script) –

Répondre

2

__FILE__ spécifiera le chemin de fichier complet du script en cours. Traduit les chemins avec des composants relatifs en chemins absolus.

Cela devrait fonctionner:

require_once (realpath(dirname(__FILE__)."/../file.php")); 
3

Chane le répertoire de travail sur le chemin du fichier en cours d'exécution. Il suffit d'utiliser

chdir(dirname(__FILE__));

include_once '../your_file_name.php'; //we can use relative path after changing directory

dans le fichier en cours d'exécution. Ensuite, vous n'avez pas besoin de modifier chaque chemin relatif à absolu dans toutes les pages. Cela fonctionne bien pour moi.