Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    scrittura log su server in script php

    ciao Ragazzi.
    sto vivendo un piccolo dramma con php
    (principiante)

    devo tener traccia dei log e ho implementato uno script all'interno della mia pagina (con request_once tiro dentro il file log.php) così composto:

    Codice PHP:

    class log 
    {
       public 
    $nomelog 'sendletter.log';
        
       function 
    scrivi($stringa)
       {
          
    $data date('Y-m-d, H:i:s');
          
    $log $data."\t".$stringa."\n";

          
    // Apertura file
          
    if($file fopen($this->nomelog'a'))
          {
             
    fwrite($file$log);
             
    fclose($file);
          }        
          else
          {
             
    // Eventuale codice per gestire un errore di scrittura
          
    }        
       }


    il problema è che in debug sul mio pc (mac) tutto alla grande... ma al momento della prova sul server dove risiede il sito, al momento della scrittura del log succede questo:
    se il file non esiste, lo crea, poi scrive soltanto una volta. chiude il file e festa.
    le restanti volte non scrive niente, e non scrive nemmeno se il file c'è già.

    ho provato anche a togliere la condizione di if ma non ho pensato a gestire un caso di else...
    come ultimo appiglio domani proverò questo ma credo che non serva a molto.

    sono un po' confuso. c'è forse qualche porcaio sui diritti della directory sul server?
    sono in palese difficoltà. chiedo aiuto a voi maghi

  2. #2
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    Prova ad applicare l'esempio 1 della fwrite al tuo codice in modo da avere un debug più preciso e capire in che punto l'esecuzione non va a buon fine.

    Siamo sempre troppo gelosi delle nostre grandi piccole opere! - Grino inedito.
    Lavori e Lavoretti

  3. #3
    ok risolto... era un problema di diritti di scrittura sulla directory dei log. iis gestisce l'utente "INTERNET GUEST USER" che non aveva alcun diritto in scrittura. risolto questo funziona.
    Un appunto is_writable() se il file non esiste (situazione iniziale) non sarà mai vera la clausola dell'esempio 1 del manuale php.
    a scanso di casini l'ho tolto perchè creando io il file a mano mi andava sempre in errore, facendolo creare a lui eredita di natura i diritti dalla directory e tutto funziona.
    grazie mille per la dritta

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.