Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1696 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Exécution commande, pas de retour [Résolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Exécution commande, pas de retour [Résolu]

n°1657171
dwogsi
Défaillance cérébrale...
Posté le 12-12-2007 à 15:03:02  profilanswer
 

Bonjour,
j'ai un soucis avec l'exécution de commandes via PHP. Enfin avec une seule commande...
 
En fait nous avons besoin d'une toute petite interface d'ajout/suppression de sous domaines, rien de bien compliqué.
Pour ce faire, j'ai mis au point une petite appli qui modifie les fichiers de conf et restart/reload les services qu'il faut.
 
Tout fonctionne à merveille, cependant, et par sécurité, j'aimerais vérifier le fichier de conf généré pour le nom de domaine avant de lancer un reload sur bind.
 
Donc, quoi de plus logique que d'utiliser la commande named-checkzone?
Sauf que je ne parvient pas à avoir quelque chose en sortie.
Pas même une erreur...
 
Niveau config PHP, rien ne bloque l'affichage des erreurs. Ca ne peut donc pas venir de là.
 
J'ai testé la commande (ci-dessous) dans un shell en utilisateur simple, ça fonctionne très bien.
 
Voici un exemple simplifier et qui ne donne rien :
 

Code :
  1. <?php
  2.  
  3. // $domName est définit autrement en réalité, mais c'est pour l'exemple
  4. // et j'ai bien vérifié, elle n'est pas vide. Elle contient bien le nom
  5. // de domaine concerné
  6. $domName = 'nostalgeek.info';
  7. $controlCMD = 'named-checkzone '.$domName.' db.'.$domName;
  8.  
  9. // Ne renvoit / n'affiche rien :
  10. echo system($controlCMD);
  11.  
  12. // Ne renvoit / n'affiche rien :
  13. echo shell_exec($controlCMD);
  14.     
  15. // Et ceci fonctionne à merveille :
  16. echo system('ls');
  17.  
  18. ?>


 
Désolé si ma question vous parait stupide, mais je ne suis pas familier de l'exécution de commandes via PHP.
Pour tout vous dire, je n'aime pas beaucoup ça...
 
En vous remerciant.


Message édité par dwogsi le 12-12-2007 à 15:25:26

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
mood
Publicité
Posté le 12-12-2007 à 15:03:02  profilanswer
 

n°1657186
omega2
Posté le 12-12-2007 à 15:19:17  profilanswer
 

named-checkzone est un outil installé dans un répertoire du chemin de recherche de l'utilisateur php/apache?
Rajoutes le chemin absolu vers l'exécutable named-checkzone et tu seras sur qu'il le trouve.
 
PS : Peut être aussi que c'est un utilitaire qui écrit dans le flux d'erreur et non pas dans le flux classique. Ca ne se voit que si on redirige ces flux vers un fichier.


Message édité par omega2 le 12-12-2007 à 15:20:12
n°1657190
dwogsi
Défaillance cérébrale...
Posté le 12-12-2007 à 15:24:46  profilanswer
 

Bien joué, il est pas dans les chemins de recherche de www-data.
Donc avec /usr/sbin/named-checkzone ça marche mieux.
En fait je m'attendais à recevoir un message d'erreur style "command not found" pour ce genre de problème...
 
Me coucherai moins con ce soir. Merci en tout cas!


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Exécution commande, pas de retour [Résolu]

 

Sujets relatifs
Résolu [Excel] colori selon critère[RESOLU] checkBox et databinding
[PHP] [ RESOLU ] Textarea et javascript \n ou \\n[Resolu] Probleme de hauteur de tableau
[Résolu] Charger une page "accueil.php" par défaut dans mon index.phpComment récupérer les valeurs d'un CheckBox ? (Résolu)
Résolu[Excel] Se déplacer dans Excel[résolu][Ti-Basic]Compter le nombre de chiffres d'une variable
[Résolu] Bloqué à 99 données lues sur base mysql[Delphi] mode d'execution avec visu des variables
Plus de sujets relatifs à : Exécution commande, pas de retour [Résolu]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR