Problème de require en cli

brian85
Invité n'ayant pas de compte PHPfrance

14 mai 2007, 12:37

Bonjour, est il possible de faire un require dans un fichier php utilisé en mode console ?
Typiquement pour faire des stats le fichier avec les infos de connection à la base de données sont stockées dans des constantes et les fonctions de connections de la base de données aussi.
En ce qui me concerne cela fonctionne sous apache mais pas en console, Je précise que je suis sous wampserver et que j'ai copié le php.ini qui fonctionne sous apache, quelqun aurait il une idée ?
Merci d'avance

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

14 mai 2007, 15:37

Bonjour,

Oui c'est possible, essaye de mettre l'adresse absolue (C:\...\fichier.php) dans ton include.
Sinon, fais un phpinfo() et regarde la valeur de la directive "include_path"
Quand tout le reste a échoué, lisez le mode d'emploi...

brian85
Invité n'ayant pas de compte PHPfrance

14 mai 2007, 15:45

ok je teste ça merci

Invité
Invité n'ayant pas de compte PHPfrance

14 mai 2007, 16:46

hum bizarre la console me répond:

Warning: require_once(classes/abonnement.class.php): failed to open stream: No such file or directory in D:\wamp\www\immopap\includes\general.php on line 5

Fatal error: require_once(): Failed opening required 'classes/abonnement.class.p
hp' (include_path='.;C:\php5\pear') in D:\wamp\www\immopap\includes\general.php
on line 5

et lorsque je regarde la directive include path du php.ini j'ai ça:

; UNIX: "/path1:/path2"
;include_path = ".:/php/includes"
;
; Windows: "\path1;\path2"
;include_path = ".;c:\php\includes"

Tout est commenté :-s

Eléphant du PHP | 259 Messages

14 mai 2007, 17:22

hello,

autre solution pour contourner le problème :

require dirname( __FILE__ ) . '/chemin/relatif/au/fichier/appelant/...';

a priori cela devrait fonctionner sans problème.

brian85
Invité n'ayant pas de compte PHPfrance

14 mai 2007, 18:21

c'est un peu lourd de changer tous les require_once juste pour ça non ? à choisir je préfère recopier ma fonction d'accès à la bas e de données c'est pas très élégant mais bon

Mammouth du PHP | 505 Messages

14 mai 2007, 20:04

Si tu as un include path et rien dans ton php.ini pour le définir, tu regardes certainement le mauvais php.ini.

Avec un phpinfo(), tu peut etre sur de l'emplacement du php.ini utilisé.

Invité
Invité n'ayant pas de compte PHPfrance

14 mai 2007, 21:01

Je vais regarder ça, je vous tient au jus, merci de votre participation