Bonjour,

Voila je me trouve confronté à une situation un peu bizarre.

Je fais une requête http dans la console de mon serveur unix grâce à la commande wget afin de récupérer les headers reçus.

J'ai trouvé une syntaxe qui me convenait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
/usr/bin/wget -O /tmp/temp.htm -- tries=1 --connect-timeout=10 --http-user=mon_user --http-passwd=mon_passwd -S http://mon.url
J'ai une condition php qui crée la commande en fonction de si on a besoin d'un http-user et passwd, en les ajoutant ou non (je stocke la commande dans une variable en attendant).

Puis j'essaye d'exécuter la commande via php comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
$output = array();
$return_var = NULL;
exec($request, $output, $return_var);
 
echo '<pre>';
print_r($output);
echo '</pre>';
 
echo '<p>'.$return_var.'</p>';
Mais j'ai ceci en retour sur ma page :
Array
(
)

0

Je me suis dis que c'est la fonction exec qui ne marche pas mais non car je fais un ping via celle-ci dans le même script php et il marche correctement.

Je ne vois vraiment pas pourquoi ça marche dans une console sur le serveur et pas depuis le script php

De quoi cela peut-il venir ? la config php ? la config apache ? autre ?

Merci d'avance pour votre aide