Bonjour à tous,

J'ai un léger soucis avec un script php.
En fait, je voudrais lancer en tache cron, un script php qui vérifie dans une base s'il y a des comptes FTP à créer.

S'il y en a, il me les créés grace à la fonction useradd.

En utilisant OVHM (serveur OVH), si j'exécute la commande manuellement :

/usr/local/php5/bin/php /home/genereft/www/cron.php > /erreur.txt

Tout fonctionne comme il se doit.

En revanche, la tâche cron qui tourne toutes les 1 minute, me retourne une erreur 127...

Pour info, elle est bien exécuté en tant que root, je ne vois donc pas d'où peut provenir le soucis...

Voici le code de mon script php :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
require_once('config.php');
 
$res = mysql_query('SELECT * FROM listing WHERE etat!="Terminé"');
 
while($data = mysql_fetch_array($res))
{
    if($data['etat']=='Création')
    {
        $s1="<Aa.Bb0CcDd1EeFf2GgHh>IiJj3KkLl4MmNn!Oo4PpQq5RrSs6TtUu7VvWw8XxYyZz9";
        $mot_de_passe= crypt($data['mot_de_passe'],substr ($s1,( 70 * rand),1).substr ($s1,( 70 * rand),1));
 
        passthru('useradd -m -k /home/genereft/www/ftp -p '.escapeshellcmd($mot_de_passe).' -s /bin/false -d /home/genereft/www/dossier_ftp/'.$data['pseudo'].' '.$data['pseudo'], $return);
 
        mysql_query('UPDATE listing SET etat="Terminé" WHERE identifiant="'.$data['identifiant'].'"');
    }
    elseif($data['etat']=='Suppression')
    {
        passthru('userdel -r '.$data['pseudo']);
        mysql_query('DELETE FROM listing WHERE identifiant="'.$data['identifiant'].'"');
    }
 
}
?>
En revanche les fonctions Exec / System, eux ne fonctionnent pas, même en lancement en ligne de commande

Merci d'avance pour vos répondre.

Anthony