quels sont les etapes pour faire marche un 'system' (ou passthru) en local ?
Je veux lancer la commande 'blabla -option'
je fais system('blabla -option');
--> RIEN ( ni sortie ecran ( echo system... ) ni action ( commande non exectué ) pourtant pas d'erreur.
Je me souviens qu'il faut mettre les 'bin' a un certain endroit
et une option dans php.ini (saf_mode on ou off...)
(SOUS LINUX )
Merci
---------------
Perdu ? Vous êtes ici : --> *
Publicité
Posté le 02-12-2003 à 22:25:14
impulse
Posté le 03-12-2003 à 10:59:54
Et avec shell_exec()?
Code :
<?php
$output = shell_exec('blabla -option');
echo "<pre>$output</pre>";
?>
EDIT : precisions =>
- il faut indiquer le chemin complet ('/usr/bin/blabla -option')
- le safe mode doit etre désactivé (safe_mode = Off dans ton php.ini)
Message édité par impulse le 03-12-2003 à 11:34:59
j-'-r
Sans horraires fixe
Posté le 03-12-2003 à 13:28:31
Ca ne marche pas, $output est vide et la commande n'est pas executée
pourtant tout est "bon"
(chemin complet et safe_mode=off)
---------------
Perdu ? Vous êtes ici : --> *
dropsy
et bonne chance surtout...
Posté le 03-12-2003 à 13:30:15
tu n'as même pas un message d'erreur?
l'utilisateur apache a-t-il les droits d'exécution sur ton script?
Ca ne marche pas, $output est vide et la commande n'est pas executée
pourtant tout est "bon"
(chemin complet et safe_mode=off)
Tu as essayé avec une commande "basique" genre ls? Tu as quoi dans tes logs Apache? Pas de msg d'erreur?
j-'-r
Sans horraires fixe
Posté le 03-12-2003 à 14:52:59
sh: line 1: /rep/blabla: Permission denied Pourtant blabla est exectutable par tous (donc apache)
---------------
Perdu ? Vous êtes ici : --> *
impulse
Posté le 03-12-2003 à 14:57:24
Cette commande fonctionne quand tu la tapes dans une console? Je demande ça comme ça...
Essaye avec une commande comme "ls" juste pour voir si ça marche.
j-'-r
Sans horraires fixe
Posté le 03-12-2003 à 18:52:41
oui cette commande fonctionne quand je la tapes dans un term
et oui ls marche et retourne la liste des fichiers si je remplace dans la fonction
---------------
Perdu ? Vous êtes ici : --> *
impulse
Posté le 04-12-2003 à 08:58:50
Bon ben c'est clair que tu as un pb de droits alors. Tu n'as surement pas les meme droits sur ls et ta commande, si? Quel est ton user Apache?
Message édité par impulse le 04-12-2003 à 09:01:48
j-'-r
Sans horraires fixe
Posté le 04-12-2003 à 18:22:24
mon user apache est "apache", un user spécifique,
parcontre je ne comprends pas car le fichier "blabla" est dispo en execution pour TOUS ( donc apache ... ) NON ?
---------------
Perdu ? Vous êtes ici : --> *
Publicité
Posté le 04-12-2003 à 18:22:24
impulse
Posté le 05-12-2003 à 07:54:01
Je suppose que ls et blabla ne sont pas dans le meme repertoire donc... Essaye de voir les droits sur le rep qui contient blabla.
Mara's dad
Yes I can !
Posté le 05-12-2003 à 08:35:24
blalbla est peut-être executable par tous, mais peut-être que /rep n'est pas lisible par apache...
---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
j-'-r
Sans horraires fixe
Posté le 07-12-2003 à 15:57:08
tous les repertoires de l'arbo qui va jusqu'a 'blabla' sont en root root -rwxr-xr-x
donc ca devrait marcher ? 'blabla' : root root rwxr-xr-x
---------------
Perdu ? Vous êtes ici : --> *
j-'-r
Sans horraires fixe
Posté le 07-12-2003 à 16:08:38
j'ai peut etre trouve d ou venai le probleme,
mon user a un shell: bin/bash
et l user apache a un autre shell: bin/sh
je pense que la commande 'blabla' marche sous le bin/bash mais pas sous le bin/sh donc je vais mettre le bin/bash a l user apache...
test...