Pages : 1
#1 Le 29/08/2014, à 15:31
- duddy67
Exécuter la commande at via un script PHP ?
Bonjour,
Tout est dans le titre je crois.
Je suis sous Ubuntu serveur 12.04 et j'aurais besoin d'utiliser la commande at mais pas avec le shell.
J'ai vu qu'il y avait pas mal de tutos pour planifier une
crontab avec un script PHP, par contre pour at c'est le néant.
Est ce possible ?
Merci d'avance.
Hors ligne
#2 Le 29/08/2014, à 22:25
- tiramiseb
Re : Exécuter la commande at via un script PHP ?
Salut,
Bah tu fais exécuter la commande "at" par ton script PHP, rien de bien sorcier...
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#3 Le 29/08/2014, à 22:26
- pires57
Re : Exécuter la commande at via un script PHP ?
et alors? adaptes le tuto ! si une commande fonctionne pourquoi l'autre ne fonctionnerais pas?
Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn
Hors ligne
#4 Le 30/08/2014, à 06:30
- duddy67
Re : Exécuter la commande at via un script PHP ?
En fait je viens de m'apercevoir que même une simple commande comme:
echo exec('whoami');
ne fonctionne pas (alors qu'elle marche dans la console).
Il doit y avoir un problème avec PHP ou les permissions d'Apache.
Dans un script sous quel utilisateur est exécutée la fonction exec ?
Est ce www-data ?
Hors ligne
#5 Le 30/08/2014, à 07:39
- bruno
Re : Exécuter la commande at via un script PHP ?
En fait je viens de m'apercevoir que même une simple commande comme:
echo exec('whoami');
ne fonctionne pas (alors qu'elle marche dans la console).
C'est à dire, quels sont les messages d'erreurs ? Que disent les logs ?
Comment est configuré ton serveur, notamment PHP : examine le résultat de phpinfo().
Dans un script sous quel utilisateur est exécutée la fonction exec ?
Est ce www-data ?
Si tu utilise Apache avec mod_php : oui c'est www-data
#6 Le 30/08/2014, à 08:36
- duddy67
Re : Exécuter la commande at via un script PHP ?
C'est à dire, quels sont les messages d'erreurs ?
Lorsque je charge le script rien ne s'affiche, aucun message.
Comment est configuré ton serveur, notamment PHP
apache2 et php5-cgi
Que disent les logs ?
sh: 1:
sudo: not found
Je viens de modifier les droits de www-data dans sudoers (juste pour tester) :
www-data ALL=NOPASSWD: ALL
Et ça ne marche toujours pas.
Une idée ?
Hors ligne
#7 Le 30/08/2014, à 08:53
- pires57
Re : Exécuter la commande at via un script PHP ?
postes nous la totalité de ton script, dis nous ou il se trouve.
Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn
Hors ligne
#8 Le 30/08/2014, à 09:19
- duddy67
Re : Exécuter la commande at via un script PHP ?
L'erreur est en fait:
sh: 1:
whoami: not found
Le code du script:
<?php
echo exec('whoami');
?>
Le path:
/var/www/web/monsite/monscript/script.php
Hors ligne
#9 Le 30/08/2014, à 09:21
- bruno
Re : Exécuter la commande at via un script PHP ?
<?php
echo exec('/usr/bin/whoami');
?>
#10 Le 30/08/2014, à 09:42
- duddy67
Re : Exécuter la commande at via un script PHP ?
Bien vu, c'était ça !
Bon maintenant retour à mon souci initial:
echo exec('/usr/bin/at 10:41 touch /var/www/web/monsite/coucou.txt');
ne fonctionne pas.
Y a t-il un pb de syntaxe ?
Hors ligne
#11 Le 30/08/2014, à 10:27
- duddy67
Re : Exécuter la commande at via un script PHP ?
J'ai trouvé une syntaxe qui fonctionne:
exec('/usr/bin/at -f testjob now + 1 minutes');
où testjob est en fait un simple ficher dans lequel est écrit la commande
touch /var/www/web/monsite/coucou.txt
L'embêtant c'est que je doit utiliser un fichier à chaque fois.
Et apparemment ça ne marche pas avec une heure précise (ex 12:24).
J'ai aussi essayé:
exec('/usr/bin/at -c "touch /var/www/web/monsite/coucou.txt" now + 1 minutes');
mais ça ne fonctionne pas.
Une idée ?
Hors ligne
#12 Le 30/08/2014, à 12:32
- bruno
Re : Exécuter la commande at via un script PHP ?
Regarde la doc php. Inutile que je recopie ici les didfférentes posibilités avec shell_exec, escapeshellargs, …
Pages : 1