Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613

    [PHP - Apache] Download pagina php errore

    Ciao a tutti ragazzi,
    da oggi un file php di un mio sistema ha smesso di funzionare, richiamando la relativa pagina Chrome mi restituisce un "Pagina web non disponibile" .

    codice:
    Errore 324 (net::ERR_EMPTY_RESPONSE): Errore sconosciuto.
    Firefox invece attiva il download della pagina PHP.
    Nel log del server Apache non sembra esserci alcun errore, l'unico messaggio restituito è:

    codice:
    child pid 1388 exit signal File size limit exceeded (25)
    La cosa strana è che ha sempre funzionato, non l'ho toccato e da oggi ha cominciato con questo scazzo. Ho testato il file in locale e funziona perfettamente.

    Sembra bloccarsi nel momento in cui la libreria che gestisce le sessioni effettua un "session_start()" ma la stessa libreria è utilizzata da tutti gli altri file. Non ci sono nemmeno output prima del session start, e per controprova ho testato uno de file funzionanti mettendo un output per generare un errore ma non fa nulla di simile.

    Qualche idea?
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  2. #2
    Leggendo in giro su internet mi sembra di aver capito che è un errore del browser.

    URL

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Beh si l'ho visto anche io.. però anche con firefox e con IE l'errore è sempre quello (Con IE dà l'errore e Firefox fa partire il download) e l'ho verificato da diverse postazioni e reti
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  4. #4
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Credo che i log di Apache siano troppo grande (>2 GB).

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Grazie,
    abbiamo controllato, ma non si avvicinano nemmeno al limite. E poi non capisco perché tutte le altre pagine nello stesso sistema e che utilizzano le stesse librerie invece continuano a funzionare! :\
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  6. #6
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Puoi postare il codice e anche i link?

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Allora, stavo lavorando per postare:

    Non posso postare il link perché il server è interno.

    La pagina handleuser.php include un file "lib.inc.php"

    Codice PHP:
    <?php
    require($_SERVER['DOCUMENT_ROOT']."/utility/PhpStdLibrary/class.DBSession.php");
    require(
    $_SERVER['DOCUMENT_ROOT']."/utility/PhpStdLibrary/class.SessionHandler.php");
    require(
    $_SERVER['DOCUMENT_ROOT']."/utility/PhpStdLibrary/class.DBHandler.php");
    require (
    $_SERVER['DOCUMENT_ROOT']."/utility/PhpStdLibrary/class.DataValidator.php");
    require (
    $_SERVER['DOCUMENT_ROOT']."/utility/PhpStdLibrary/class.SimpleXHTMLSanitizer.php");
    require (
    $_SERVER['DOCUMENT_ROOT']."/utility/PhpStdLibrary/class.UserLicense.php");
    require(
    $_SERVER['DOCUMENT_ROOT']."/utility/include/config.inc.php");

    try
    {
        
    $db = new DBHandler($dataConnDB); 
        
    $db->queryDb('SET NAMES utf8'); 
    }
    catch(
    Exception $e)
    {
        exit(
    "Service not available");
    }

    $sess = new DBSession($db'utility_session_data',
    array(
        
    'id'    => 'sessid',
        
    'data'    => 'datasess',
        
    'expire'=> 'expire'
        
    ));

    // Fa in maniera che la sessione non si aggiorni continuamente
    // ad ogni chiamata di una pagina
    $sess->setMaxLifeTime(-1);


    $sessionHdl = new SessionHandler(
        
    $db->getConnectionLink(),
        
    // Dati locked IP (Tabella, nomi campi)
        
    $lockedTableName$lockedTableFlds,
        
    // Dati access log (Tabella, nomi campi)
        
    $accessTableName$accessTableFlds,
        
    // Dati error access log (Tabella, nomi campi)
        
    $erraccTableName$erraccTableFlds
    ); // *** COSTRUITO L'OGGETTO SessionHandler ***

    // Effettua il controllo sulla validità della sessione
    // Se non si   loggati o c' stato il tentativo di modificare il session_id 
    // viene visualizzato un messaggio di errore.
    if(!$sessionHdl->isLogged() && $_REQUEST['action'] != 'LOGOUT')
    {
        exit(
    "<h1>HTTP/1.0 404 Not Found</h1>");
    }
    else

        
    $ul = new UserLicense($_SESSION['userdata']['id_user'], 
                              
    $db->getConnectionLink(), 
                              
    $permTableData
                              
    $actionsAllowed,
                              
    $userTableField,
                              
    DB);
    }
    ?>
    Non posso postare l'intera classe SessionHandler ma solo il metodo all'interno del quale si verifica il blocco.
    Ho provato ad eseguire un exit(print_r($_REQUEST, true)) fino a trovare che prima della riga

    if (session_id() == '') session_start(); // Avvia sessione se


    lo esegue, dopo no!

    (Nella classe "SessionHandler")
    Codice PHP:
    public function isLogged() {
            
            
    $isLogged FALSE;

            if (
    session_id() == ''session_start(); // Avvia sessione se necessario

            
    if (isset($_SESSION['logged']) && ($_SESSION['logged']==TRUE)) { 
                
    // Controlla IP e User-Agent, se richiesto 
                
    if($this->opt != NULL) {
                    if ((
    $this->opt self::CHECK_IP) != 0) {
                        
    // Deve controllare IP ADDRESS (se settato nella sessione)
                        
    if (strcmp($_SESSION['remoteip'], $this->getUserIPAddress()) == 0) {
                            
    $isLogged TRUE
                        }
                        else {
                            
    $isLogged FALSE;
                        }
                    }
                    if ((
    $this->opt self::CHECK_UA) != 0) {
                        
    // Deve controllare USER-AGENT (se settato nella sessione)
                        
    if (strcmp($_SESSION['remoteua'], $this->getUserAgentMd5()) == 0) {
                            
    $isLogged TRUE
                        }
                        else {
                            
    $isLogged FALSE
                        }
                    }
                }
                else {
                    
    $isLogged TRUE// Non servono controlli su altri parametri
                
    }
            }
                
        
                
            
            
    // Se non è passato nell'if sopra vuol dire che L'UTENTE NON È LOGGATO
            
            
    return $isLogged;
        } 
    L'exit restituisce l'id della sessione e la sessione (essendo salvata nel db) esiste e contiene i dati che deve contenere. (P.S. sono anni che usiamo queste librerie, e non hanno mai dato questo problema!)

    Grazie
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  8. #8
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Guadarei dove nel codice mi salti la richiesta (commentare, scommentare) e poi soprattutto se si tratti di un virtual host se non ci sia forse un altro log file di 2 GB.

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    [edit]
    Ho scommentato le righe, commentate, commento solo l'if e lasciato il session start... niente da fare.
    L'if serve ad evitare un doppio "session_start", e ovviamente senza il session_start (l'unico nella pagina e prima di qualsiasi altro output) mi restituisce un "Not Found" (come se non fossi loggato ovviamente).

    Come esegue quel session_start si blocca tutto...

    Il server è fisico e si trova qui da noi. Non abbiamo nessun tipo di virtualizzazione... stamattina il sistemista ha controllato se nel server esiste anche un solo file di log che si aggiri attorno i 2 Gb e il responso è stato negativo :\
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  10. #10
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Originariamente inviato da Leandro
    Ho pulito il codice da tutti i commenti (non so se intendevi questo...) ma non è cambiato nulla.
    No, no, mi riferivo al debugging, commentare/scommentare le righe fino a quando funziona.

    Originariamente inviato da Leandro
    Il server è fisico e si trova qui da noi. Non abbiamo nessun tipo di virtualizzazione... stamattina il sistemista ha controllato se nel server esiste anche un solo file di log che si aggiri attorno i 2 Gb e il responso è stato negativo :\
    Non intendevo virtualizzazione dei sistemi ma solo i virtual hosts del webserver. Comunque, se non c'è uno di 2 GB non sarà questo

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

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.