Exec en PHP

Résolu
Bonjour, j'aimerais exécuter via PHP sur mon serveur linux :
echo exec('cat /fichier/meslog.log'); pour afficher mes logs, sauf que sa affiche que ma dernière ligne.. J'aimerais donc afficher les 30 dernières lignes..

Merci de votre compréhension..

2 réponses

  1. Contributeur
    La doc de exec dit qu'un deuxième paramètre "array &$output" doit être passé pour récupérer les lignes (dans un array).
    "J'aimerais donc afficher les 30 dernières lignes.. ": pour avoir les 30 dernières lignes, n'utilise pas
    cat
    mais
    tail -n 30 /fichier/meslog.log
    , où "-n 30" spécifie "seulement les 30 dernières lignes".
    1. Je te remercie de cette réponse, mais ayant testé ça ne marche pas, juste la dernière ligne s'affiche.. Je ne comprend vraiment plus rien..
      1. Contributeur
        <pre><?php
        $lines = array();
        exec("tail -n 30 /fichier/meslog.log", $lines);
        print_r($lines);
        ?></pre>
        $lines est un tableau contenant les lignes.
        Assurez vous bien d'avoir les droits de lecture, sinon il n'en ressortira rien.
      2. J'ai effectivement essayer sa avant que vous le mettez, j'avais oublier le array();
        Je vous remercie je mais en résolu :)