Exec() n'exécute pas ?

[Résolu]
Signaler
Messages postés
7
Date d'inscription
lundi 26 février 2007
Statut
Membre
Dernière intervention
27 février 2007
-
Messages postés
7
Date d'inscription
lundi 26 février 2007
Statut
Membre
Dernière intervention
27 février 2007
-
Bonjour,

Toujours avec le même serveur dont j'ai parlé précédemment (je travailles sur une interface pour gérer un serveur via une interface web facilitée), j'ai sélectionné la méthode du scripting en shell pour effacer les antislash d'un fichier. (comme je l'ai dit sur l'autre message, le stripslashes() n'était pas possible)

J'ai donc fait mon script (de trois lignes) :
#!/bin/sh
## pour virer les antislash
sed -i '/\\//g' /etc/tac-plus/tacacs.conf

vérifié avec ./tacacs.flush, ça tourne, le script est fonctionnel de n'importe ou, je le met donc dans mon interface web :
exec ("/var/www/admintac/tacacs.flush");

résultat : aucun...
Je suppose donc qu'il l'apelle mal, mais je ne vois pas ce que j'oublie;

8 réponses

Messages postés
7
Date d'inscription
lundi 26 février 2007
Statut
Membre
Dernière intervention
27 février 2007

Et bien vive le log : j'ai vérifié mon code et (un peu par hasard), j'ai vu exec("var/www/admintac/tacacs.flush") ...

il manquait un slash -.-'
merci encore à tout ceux qui ont tenté de m'aider ^^
je n'ai plus qu'à faire une vérification de session sur mes pages, et après, éventuellement, je les mettrai dans les sources pour que tout le monde puisse en profiter.
Messages postés
591
Date d'inscription
mercredi 20 juillet 2005
Statut
Membre
Dernière intervention
16 juillet 2009
2
Saell og blesuð

Alors est ce que la commande exec() est active ?



f
unction_exists


(





)
2 Selon votre config faut il partir de la racine linux ou de la racine du server web ou du repetoire courant ?








Vilhjálms Sigurðsdóttir aka Frëyjá
Messages postés
7
Date d'inscription
lundi 26 février 2007
Statut
Membre
Dernière intervention
27 février 2007

function_exists(exec); renvoie 1, donc true, pas de problème à ce niveau;

Au niveau de ma distribution, j'ai essayé du répertoire courant et le chemin entier.
je viens d'essayer avec la racine du serveur web, mais aucun ne tourne;
Messages postés
591
Date d'inscription
mercredi 20 juillet 2005
Statut
Membre
Dernière intervention
16 juillet 2009
2
Saell og blesuð

Votre user apache a t il les droits sur votre script ?


Vilhjálms Sigurðsdóttir aka Frëyjá
Messages postés
13
Date d'inscription
vendredi 16 septembre 2005
Statut
Membre
Dernière intervention
5 novembre 2018

Oui il faut que tu es exécuté les commandes suivante au préalable:
chmod +x /var/www/admintac/tacacs.flush (pour le rendre exécutable)

chown www-data:www-data /var/www/admintac/tacacs.flush
OU
chown apache:apache /var/www/admintac/tacacs.flush
Suivant ton linux... pour autoriser apache à l'exécuter

David
Messages postés
7
Date d'inscription
lundi 26 février 2007
Statut
Membre
Dernière intervention
27 février 2007

pas de problème au niveau des accès, enfin, j'ai pas l'impression... pour obtenir ça j'ai juste fait un chmod 777 et un chown apache:apache

En tout cas, merci pour l'aide apportée.
Messages postés
7
Date d'inscription
lundi 26 février 2007
Statut
Membre
Dernière intervention
27 février 2007

j'ai remarqué que ce n'était pas apache mais bien www-data, mais ça n'a rien changé, le script ne se lance pas.

Eventuellement, je peux placer tout le code ici, mais je ne pense pas que ce soit ça qui bloque.
Messages postés
7
Date d'inscription
lundi 26 février 2007
Statut
Membre
Dernière intervention
27 février 2007

l'idée de fouiller les logs m'est venue, et d'après ce que je vois
"sh: var/www/admintac/tacacs.flush:not found"

pourtant il est bien là...

Sinon, si quelqu'un a une méthode pour que le fwrite écrive tacacs.conf sans y ajouter d'antislash, je prends aussi, ça devrait simplifier la tâche ^^'.