[PEAR] Problème avec Net/Ping

Eléphanteau du PHP | 11 Messages

22 sept. 2010, 11:15

Bonjour,

j'ai un problème avec le module Net/Ping :
Si je l’exécute en ligne de commande il fonctionne très bien.
Mais à partir d'un browser (en localhost ou en distant) j'ai le message d'erreur suivant : Fatal error: Call to undefined method PEAR_Error::getLoss()
Or, j'ai bien vérifié, la méthode est bien définie dans le module pear, et le module pear est bien chargé, la preuve, cela fonctionne en ligne de commande.

Merci de votre aide.

Mammouth du PHP | 19672 Messages

22 sept. 2010, 11:32

Possibilité : le chemin vers PEAR doit être bien indiqué dans ton PATH système, donc ça fonctionne en ligne de commande. Est-ce que par hasard lorsque tu passes par un navigateur le code qui est exécuté ne comporterait pas un set_include_path() qui ferait sauter la partie contenant PEAR ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 11 Messages

22 sept. 2010, 12:34

Merci pour ta réponse.

Oui mais justement c'est pour mon PEAR !

set_include_path(get_include_path() . ";C:\PHP\pear");

Mammouth du PHP | 19672 Messages

22 sept. 2010, 13:10

Alors fais une petite vérification à la suite de ça :
echo("<pre>\n");
var_dump(get_include_path());
echo("</pre>\n");
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 11 Messages

22 sept. 2010, 14:17

donc le resultat est :


string(25) ".;C:\PHP\pear;C:\PHP\pear"


Du coup mon double appel est inutile, mais il n'est pas en cause.

Mammouth du PHP | 19672 Messages

22 sept. 2010, 15:12

Jette donc un coup d'oeil à tout hasard dans les logs Apache, tu y trouveras peut-être des informations utiles...
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 11 Messages

22 sept. 2010, 15:25

Houla !!!

J'aurais dû commencer par là :

IIS6 + PPH 5.3.3

Mammouth du PHP | 19672 Messages

22 sept. 2010, 15:33

Je n'ai jamais utilisé IIS mais je suppose qu'il doit exister des logs aussi ? et sinon une manière de les activer ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 11 Messages

22 sept. 2010, 15:44

Oui oui bien sûr,

Je les avais déjà regarder, et il n'y a pas d'erreurs.

Par contre j'ai une question :
est-ce que du coup on doit, pour utiliser net/ping, donner des droits particuliers sur la commande PING ?

Mammouth du PHP | 19672 Messages

22 sept. 2010, 15:54

Pas que je sache, les droits utilisés seront ceux du serveur, ici IIS en l'occurrence.

Essaye donc un autre truc :
echo("<pre>\n");
var_dump(get_defined_functions());
echo("</pre>\n");
Essaye de trouver la fonction en question dans le résultat. Si tu ne la trouves pas, il y a un problème et j'avoue que je ne vois pas quoi. Il resterait à tester en ajoutant le chemin vers PEAR directement dans le path système (Propriété de Poste-de-travail > Onglet «Avancé» > Variables d'environnement > Variables système > Path) ce qui te dispensera de la modifier à la volée en PHP.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: