Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    52

    chiamare pagina php dal server in loop continuo

    Voglio chiamare una pagina in PHP(content.php) dal server stesso (da ContentLoop.php) ogni 10 secondi.
    Entrambe le pagine sono situate nella stessa posizione nel server.

    ContentLoop sarebbe tipo:

    Codice PHP:
    <?php  
    if  ($_REQUEST['action'] == "loopOn" ) {     
    $loop 1
    }
     else 
    {     
    $loop 0


    while (
    $loop == 1) { 
     
    $handle fopen("content.php?action=autoit""r");
      
    sleep(10);  // sleep per 10 secondi  
    }     
    ?>
    Per avviare/disattivare il loop di ContentLoop, pensavo di
    farla partire da un browser con un comando del tipo:
    ContentLoop.php?action=loopOn

    ma non sono troppo convinto che funzioni... perché se il ciclo parte e poi richiamo la
    pagina con
    ContentLoop.php?action=loopOff
    il loop di quella chiamata non parte, ma quello partito prima si ferma?


    Poi, è corretto :
    fopen("content.php?action=autoit", "r");
    da una pagina php per fare una chiamata GET a un'altra pagina php?

  2. #2
    Usa javascript...credo sia meglio...oppure funzioni ajax


  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    52
    il fatto è che vorrei che mi chiamasse la pagina php anche senza una pagina html aperta.
    Dato che mi deve settare delle variabili di sessione a prescindere se c'è un browser aperto.

    E quindi l'unico modo è con php dal server stesso...

  4. #4
    Allora usa un crontab...senza una pagina aperta nel browser non c'è modo di eseguire uno script se non attraverso un crontab

  5. #5
    Utente di HTML.it L'avatar di hyde82
    Registrato dal
    Feb 2010
    Messaggi
    243
    mhhh...caricare ogni dieci secondi una pagina....??..non capisco l'utilità....con quale criterio poi?

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    52
    E' un po' complicato da spiegare... mi serve per capire se un pc che si connette regolarmente (tramite un programma wininet, non da browser) si è disconnesso per errore.
    Se il file content non viene più chiamato dal pc, e lo chiamo invece dal server, riesco a vedere da quanto non si è connesso e quindi segnalarlo.

    Oppure se avete altre idee per sapere se un pc non comunica più col server... dal lato server ovviamente.

    pc --> content.php ogni 6 secondi

    pc --x--> interrompe la comunicazione

    server deve comunicarlo in una variabile di sessione, normalmente usata in content.php



    Grazie mille Dascos. Non sapevo del crontab: adesso me lo studio un po'.

  7. #7
    Se il pc ha un ip fisso, conviene che usi qualche chiamata da sistema sulle connessioni di rete (se vuoi farlo via php) oppure ti crei uno script bash che faccia la stessa cosa e le variabili di sessione, anzichè popolarle via script, le leggi (e scrivi) su un db...

    Lo script non dovrebbe fare altro che verificare le connessioni dal tal ip (fisso) con netstat oppure verificare che ci sia una chiamata alla tal pagina dai log del webserver...in caso negativo scrive sul db alcune informazioni (le varibili che ti servono) e lo script che le deve usare le legge sempre dal db...


  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    52
    La soluzione di mettere il tutto su un DB locale consultabile dal server non mi pare completa, perché ad esempio se cade l'ADSL, il server non può accedere più al DB o il pc comunicare alcunché...

    Poi per il crontab, ho altri problemi: ho un server in hosting Aruba su piattaforma Windows che mi gestisce il PHP5, per cui non penso che posso usare il crontab... Per di più, anche mettendo un Linux, non credo mi lascino accedere a parti 'sensibili' della macchina tipo /usr/local/bin/php...

    Nel mio caso cosa potrei fare allora?

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 © 2024 vBulletin Solutions, Inc. All rights reserved.