Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125

    php ini - error reporting

    nel sito di html ho trovato scritto questo
    "Non dimentichiamo, una volta terminata la fase di produzione, di impostare error_reporting in modo che ogni tipo di errore non venga più visualizzato, in quanto ogni output di questo tipo rivela la struttura interna del programma, intesa come nome e percorso degli script e via discorrendo"


    io ora che sto sviluppando ho error_reporting a e_all (2047)

    cosa dovrei fare al momento della consegna al cliente? come lo devo impostare in modo che ogni tipo di errore non venga più visualizzato???

    ed e' corretto ? o rischio di compromettere l'andamento del programma....

  2. #2
    l'impostazione e' nel php.ini, puoi comunque gestirla pagina per pagina, ma credo che il riferimento che citi si rivolga all'impostazione del file php.ini

    il programma che consegni al cliente si suppone sia error & notice free.... per evitare segnalazioni provenienti da funzioni non dovute al programma in se ma da eventi indipendenti dallo script si usa l'operatore @ di controllo degli errori.

    http://it.php.net/manual/it/language...rorcontrol.php

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125
    perdonami ma non capisco dove vuoi farmi arrivare....

    cosa dovrei fare? io nei prodotti che consegno installo apache, e vorrei sapere come devo mettere error_reporting

    la @ la uso quando non voglio far apparire gli errori e sto programmando....

    cosa intendi per "il programma che consegni al cliente si suppone sia error & notice free"??

    non capisco proprio.

  4. #4
    credevo di aver scritto chiaro.

    Quando consegni un programma si presume questo sia testato e libero da errori formali che possano portare ad allarmi o notice di parser. Mi sembra il minimo. Altro sara' un bug per valutazioni errate o incomplete.

    Nei prodotti NON dovrebbe esserci niente per gestire gli allarmi. Nell'installazione di apache e php imposterai il php.ini per la visualizzazione e la gestione degli allarmi che crederai opportuna. Leggi il file php.ini alla sezione Error handling and logging spiega tutto. Anzi, leggi anche il resto.

    Se usi la at @ durante la programmazione .... beh, allora proprio non ci siamo. Ci saranno facilmente errori non recepiti in fase di debug.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125
    e fai conto che sono l'unico io che si occupa di questo....su un progetto che e' piu grosso di me...allora chiedo consigli se sono alle prime armi....
    cmq....visto che non ci siamo aiutami te a esserci....

    la @ l'ho usata solo una volta...e vorrei portarti l'esempio cosi mi dici perche sbaglio a mettercela...

    Warning: unlink(c:/sys/error.log) [function.unlink]: Permission denied in C:\Apache2\htdocs\myprogram\deleteError.php on line 7


    questo e' l'errore che occultavo...ora dimmi come fai a non farlo saltare fuori ....
    io cercavo di cancellare un file in c:/sys/error.log Se il file era di sola lettura giustamente mi deve dire che non posso cancellarlo....
    ma io nel codice mi aspettavo di gestire tutto cosi :
    Codice PHP:

    $filename 
    'c:/sys/error.log';
    if(
    file_exists($filename))
    {
        
    $resp unlink($filename);
        if(
    $resp){
            
    $message "il file " "[b]"$filename "[/b]"" è stato cancellato con successo";
        }else
            
    $message "non hai i permessi per cancellare il file";
    }
    else
        
    $message "il file " "[b]"$filename "[/b]"" non è stato trovato"

    dal sito php.net ho visto che unlink mi restituisce null o 0 se fallisce.....
    Allora ho detto...controllino e via....invece mi da cmq l'errore che ho postato..
    Ecco perche ho usato @ ....e mi piacerebbe scoprire come non usarla.

    Cmq non devi dare per scontato nulla...se son qui che chiedo aiuto ci sara' un motivo...Ti ringrazio per l'aiuto indi ti chiedo....te come lo setteresti error_reporting tenendo conto che mari ...in un qualche modo potrebbe ( non e' sicuro mai nulla) saltare fuori un errorino php?

    grazie ciao

  6. #6
    da chi e' gestito l'error.log che citi? Se e' gestito da apache o mysql e' naturale che tu non possa cancellarlo. E' tenuto aperto proprio dall'applicativo. Oppure l'utente 'apache/php' non ha diritto di scrittura su quel file.

    Usa la logica. Se un file NON lo puo' cancellare, togliendo il warning non e' che lo cancella. NON lo cancella e non lo dice. Meglio rivedere lo script ed evitare di fare una cosa non concessa oppure fare in modo che la possa fare.

    Come hai fatto va bene. Metti @ davanti ad unlink() e poi gestisci tu l'errore. Ma l'errore si deve presumere casuale e non una costante .....

    per quanto riguarda il settaggio del php.ini dipende da chi e come viene gestito il server. Puoi scrivere gli errori su un file di log e controllare ciclicamente che succede. Non stampare a video gli errori serve sopratutto per impedire che info sensibili come: nome di variabili, tabelle, campi, costanti e quant'altro divengano di pubblico dominio. E poi esteticamente e professionalmente sparare a video errori non e' molto bello.

    Le possibilita' sono molteplici, e non mi sento di dire fai cosi' che e' giusto. Fai come puoi nell'ambito della gestione e responsabilita' sul server. Di certo e' che non puoi consegnare un lavoro ed abbandonarlo a se stesso. Qualcuno dovra' gestirlo. Se e' un provider ISP ci pensera' lui al sistema.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125
    grazie mille ....pero' a questo punto ti chiederei di sbilanciarti e far degli esempi...

    Il file error.log e fatto da noi....probabilmente NON sarà di sola lettura, e quindi la situazione di errore in quel caso non entrera' in gioco....ma non e' quello il punto.

    E' che e' ora della consegna , tutto funziona , niente errori....ma non vorrei mai che un utente, qualora ci fosse sfuggito un dettaglio, avesse a video la pagina con scritto warning o error e blablabla...

    Io adesso ho impostato il php.ini error_reporting 2047 (E_ALL)

    deduco che se si verificasse un rerrore gli venga segnalato....
    come lo cambio ?
    Se mi chiedi di scegliere io sclgo che NESSUN errore venga visualizzato.

    commentami questa scelta pensando al cliente e se puoi mi dici come impostare il php.ini

  8. #8
    in questo non ho un php.ini sottomano da vedere.

    Mi pare che si possa gestire la visualizzazione in vari modi:

    log_errors in ON
    display_errors in Off
    error_log metti il path ad un file che deve esistere.

    e lascia il reporting in all

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.