[PHP] Passer une commande système unix en php.

Passer une commande système unix en php. [PHP] - PHP - Programmation

Marsh Posté le 23-10-2003 à 17:19:50    

Je convertis un programme perl en php. Le programme lance une commande systeme qui a cette tête :
 
$zorglub = "grep -Piow '$arg' ./corpus2 | sort | uniq -c > grepmot";
 
Que ca soit avec system  : system "$zorglub";
ou exec : exec("$zorglub", $list);
 
Ca ne me fait rien. Si je met la commande unix directement dans un terminal, j'ai vérifier, ca donne bien qq chose ;)
 
Et en perl, ca marche également impec. Où est ce que j'ai tout faux, s'il vous plait :cry:
 
Merci :hello:

Reply

Marsh Posté le 23-10-2003 à 17:19:50   

Reply

Marsh Posté le 23-10-2003 à 17:22:14    

la fonction n'est pas bloqué au niveau de php?

Reply

Marsh Posté le 23-10-2003 à 17:24:58    

HA ??
on peut la bloquer ...bon, bonne nouvelle.
 
Je n'en sais rien du tout :lol:
Je vais tenter de regarder. Dans la config php surement  :whistle:  
 
Je tente de regarder.
 
Je pensais plus à un probleme de quote ou de caractère spécial qui aurait bloqué le exec :jap:


Message édité par TetardKing le 23-10-2003 à 17:25:52
Reply

Marsh Posté le 23-10-2003 à 17:31:20    

ha oui, peut être bien le $arg qui est remplacé par la valeur de la variable $arg. ;)

Reply

Marsh Posté le 23-10-2003 à 17:34:42    

nop, ca j'ai vérifier, en faisant un echo $zorglub :)
 
Mais effectivement,  
 
   
7.1.3 Directives de configuration du "Safe Mode"
[Notes en ligne]  
 
      7.1.3.1 ini.safe-mode
      [Notes en ligne]  
 
      safe_mode booléen
    * Cette directive active ou désactive l'option "safe mode". Lisez le chapitre 6 Sécurité pour plus d'informations.
      7.1.3.2 ini.safe-mode-exec-dir
      [Notes en ligne]  
 
      safe_mode_exec_dir chaîne de caractères
    * Si l'option "safe mode" est activée, system() et les autres fonctions exécutant des programmes systèmes refusent de se lancer si ces programmes ne sont pas placés dans ce répertoire.
 
Et comme j'ai rien changé à la config de base de mandrake, ca doit être sur safe_mode.
Je cherche le php.ini :ange: :D


Message édité par TetardKing le 23-10-2003 à 17:36:59
Reply

Marsh Posté le 23-10-2003 à 17:37:59    

Bon, ben, mon safe mode est bien sur off ... lapin con pris.
 
 
Donc, ma question tient toujours. :/ :jap:

Reply

Marsh Posté le 30-10-2003 à 23:02:26    

bon, pour info, j'ai trouvé la réponse...
 
En fait, c'est apache qui n'a pas les droit de créer un fichier dans le repertoire qui m'appartient...
 
J'ai donc changé le  
 
grep -Piow '$arg' ./corpus2 | sort | uniq -c > grepmot
 
en  
 
grep -Piow '$arg' ./corpus2 | sort | uniq -c > /tmp/grepmot
 
 
et là, ca marche  [:ogmios]  
 
 
Bon, 5 h paumées la dessus, c'est beau l'info quand ca veut :gun: :D


---------------
Da Breizh WoRlD DoMIna7iOn T3aM * Baptiste Mary blog
Reply

Marsh Posté le 31-10-2003 à 14:05:42    

Citation :

bon, pour info, j'ai trouvé la réponse...
 
En fait, c'est apache qui n'a pas les droit de créer un fichier dans le repertoire qui m'appartient...
 
J'ai donc changé le  
 
grep -Piow '$arg' ./corpus2 | sort | uniq -c > grepmot
 
en  
 
grep -Piow '$arg' ./corpus2 | sort | uniq -c > /tmp/grepmot
 
 
et là, ca marche    
 
 
Bon, 5 h paumées la dessus, c'est beau l'info quand ca veut  


 
Fallait penser a regarder les logs d'Apache avant aussi. :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed