Php er le shell

Fermé
lamou23 - 24 févr. 2010 à 23:33
Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 - 25 févr. 2010 à 11:43
bonsoir

je voudrais récupérer un fichier log d'une machine à distance afin de l'afficher sur ma page web, voici le code

****************log.php*******************
<html>
<body>
<? system("./fichlog.sh");
exec('cat /home/lam/fichier',$test);



for ($index = 0;$index < count($test);$index++)
{?>
<pre><?
echo $test[$index]."\r\n";
?></pre><?
}

?>
</body>
</html>

*********************fichlog*************
#!/bin/bash
ssh lam@192.168.80.128 cat /var/log/kern.log >> /home/lam/fichier1

*************************************************
le problème est que lorsque j'exécute log.php, je trouve le fichier "fichier1" vide alors qu'il devrait contenir les fichiers logs!!!!!
lorsque j'ai exécuté fichlog sous le terminal,ça a trés bien marché,il m'a bien récupéré les fichiers log dans "fichier1",mais à partir de la page php ,ça ne marche pas????
corrigez moi le code svp
merci d'avance
A voir également:

1 réponse

Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 2 330
25 févr. 2010 à 11:43
Le script shell produit un fichier nommé fichier1 mais le script PHP lit un fichier nommé fichier, je suppose que ce n'est pas normal.

Par contre PHP est capable nativement d'opérer sur des fichiers, hein, pas besoin de passer par bash avec exec(). D'ailleurs si tu l'avais fait ainsi tu aurait eu une erreur comme quoi le fichier que tu veux lire n'existe pas.
0