Visualizzazione risultati 1 fino 1 di 1

Discussione: Script / tool ( pratico) per eseguire debug in PHP

  1. #1
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    4,551

    Lightbulb Script / tool ( pratico) per eseguire debug in PHP

    Salve,
    ho creato un tool per il debug che può essere usato al posto del metodo che avevo ripotato qui

    Il tool permette di visualizzare gli errori di una pagina PHP (o HTML misto) senza dover editare il file per aggiornare il nome della pagina da analizzare.

    Codice PHP:
    <?php

    $files
    = glob("./*.{htm,html,php}", GLOB_BRACE);
    $hidden = array("DebugErrorPHP.php");

    function
    EmulateEval($code){
    $tmp = tmpfile();
    $tmpf = stream_get_meta_data ($tmp);
    $tmpf = $tmpf ['uri'];
    fwrite($tmp, $code);
    $ret = include($tmpf);
    fclose($tmp);
    return
    $ret;
    }

    if(isset(
    $_POST['select1'])){
    $select1 = $_POST['select1'];

    $cnt = 0;
    foreach(
    $files as $file) {
    $file = basename($file);
    if(
    in_array($file, $hidden)) {
    continue;
    }
    $cnt++;
    if(
    $select1 == 'value'.$cnt){
    echo
    '<p style="display:flex; justify-content:center; font-size:20px;">Versione PHP:&nbsp;<b>'.substr(phpversion(),0,3).'</b></p>';
    echo
    '<p style="display:flex; justify-content:center; font-size:20px;">File corrente:&nbsp<b>'.$file.'</b></p>';
    $code = "<div style='overflow-y:scroll; width:100%; height:250px;'>";
    $code .= "<?php ini_set('display_errors', '1');ini_set('display_startup_errors', '1');error_reporting(E_ALL);require('".$file."');?>";
    $code .= "</div>";
    EmulateEval($code);
    }
    }
    }
    ?>

    <form style="display:flex; justify-content:center;" action="" method="post">
    <select style="font-size:20px;" name="select1">
    <?php
    $cnt
    = 0;
    //$files = glob("./*");
    foreach($files as $file) {
    $file = basename($file);
    if(
    in_array($file, $hidden)) {
    continue;
    }
    $cnt++;
    echo
    '<option value="value'.$cnt.'">'.$file.'</option>';
    }
    ?>
    </select>
    &nbsp;&nbsp;<input style="font-size:20px;" type="submit" name="submit" value="Vai">
    &nbsp;&nbsp;<input style="font-size:20px;" type="button" onclick="location.reload();" value="Ricarica">
    </form>
    Basta copiarlo in una nuova pagina php, ad es, DebugErrorPHP.php. Quindi eseguire dal browser il file di debug.

    Nel caso si disponga di più applicativi web o siti nello stesso dmonio, ad esempio in sotto cartelle:
    Il file per il debug (DebugErrorPHP.php), è bene metterlo nella sotto cartella relativa all'applicativo web / sito che si vuole esaminare. Così da non avere in elenco tutti i fle di ogni applicativo web / sito presenti nel dominio.

    Cordaili saluti.
    Ultima modifica di GraphOGLRisorse : Ieri alle ore 19.52.21

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •