2010-01-06 13 views
0

Itry pour exécuter ce scriptexec() ou système() sur commande doxygen me retourne "exiting"

public function execDoxygen($doxyFile) {

$command = "doxygen $doxyFile"; 

    exec($command, $output); 

    return $output; 
} 

et les sorties est "... Sortie"

si je le lance séparement dans un terminal avec le même fichier, il fonctionne bien.

Si j'exécute exec ("doxygen --help") cela fonctionne correctement.

Pourquoi ne fonctionne-t-il pas avec une variable?

Répondre

2

S'il contient des espaces ou d'autres caractères spéciaux de shell, vous devrez peut-être d'abord quitter $doxyFile avec escapeshellarg() en premier.

Modifier pour l'enregistrement, c'était un problème d'autorisation. Voir les commentaires pour plus de détails.

+0

Il est pas que le commad semble correct voir la décharge: commande : doxygen/home/guillaume/Documents/doxygen/Doxyfile-JMK
sortie: array ('0' => '... Sortie') Je pense que doxygen n'aime pas être exécuté par php ... – toddoon

+0

Pouvez-vous accéder au fichier directement depuis PHP en utilisant 'fopen()' par exemple? –

+0

Oui, file_get_contents ($ doxyFile) me renvoie le contenu du fichier. – toddoon