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 :
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).
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
Puis j'essaye d'exécuter la commande via php comme ceci :
Mais j'ai ceci en retour sur ma page :
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>';
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
Partager