Bonjour,

J'ai développé un script qui me permet de créer un export statique d'un site à partir de l'outil httrack disponible sous UNIX (serveur sous Ubuntu).

J'ai écrit le code suivant :

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
 
$destination = '/var/www/mysite_copy';
$url = 'http://user:pwd@mysite.com';
$command = '/usr/bin/httrack '.$url.'/ -W -O "'.$destination.'"  --robots=0';
 
exec($command, $output = array(), $errors);        
$return = '
    <p>Export des contenus de '.$url.' en cours vers '.$destination.', veuillez patienter quelques minutes</p>
    <p>
        En cas d\'erreur, veuillez fournir les informations suivantes au Webmaster <br/>
        Commande : '.$command.'<br/>
        Sortie : '.print_r($output, TRUE).'<br />
        Erreurs : '.print_r($errors, TRUE).'
    </p>
';
$ouput renvoie Array(),
$errors renvoie toujours 255
$errors renvoie 1 si je met httrack au lieu de /usr/bin/httrack

Je ne parviens pas à trouver une documentation détaillée des erreurs systèmes linux, enfin, cela s'arrête toujours à 127.

Lorsque j'execute la commande directement depuis la console, cela fonctionne.

Peut-être que l'utilisateur d'Apache n'a pas les droits d'execution ? Comment le savoir ?

J'ai tenté d'utiliser les fonctions passthru, system et shell_exec et le résultat est le même.

Avez-vous une idée ?

edit : je précise qu'executer une commande telle que "ls -n" fonctionne très bien.