Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505

    Codice che funziona solo in locale

    Ho questa porzione di codice su una pagina
    Codice PHP:
    //se cleanup.txt è stato acceduto l'ultima volta da più di 24h
    if(fileatime("..".DS."accesso".DS."cleanup.txt") < (time() - 86400)) {
        
    $connection = new connection();

        
    $db mysql_connect($connection->getHost(),$connection->getDbUser(),$connection->getPass())
            or die (
    "Impossibile connettersi al server ".$connection->getHost());

        
    mysql_select_db($connection->getDatabase(),$db)
            or die (
    "Impossibile accedere al database ".$connection->getDatabase());

        if(
    pulisci_prestazioni($db)) { //se la pulizia va a buon fine
            
    touch("..".DS."accesso".DS."cleanup.txt"); //accedi al file in modo da modificarne la data di accesso
        
    }
        
    mysql_close($db);

    Lo scopo è quello di eseguire la funzione pulisci_prestazioni() solo se sono passate 24h (86400sec) dall'ultima esecuzione di tale funzione.

    In locale funziona correttamente, in remoto invece no.
    Dopo questa porzione di codice c'è l'html per visualizzare delle immagini e dei link sulla pagina, ma non vengono visualizzate, l'esecuzione si pianta.
    Ho messo una
    print "testo prova";
    prima del codice che ho postato, questa viene stampata sulla pagina, quindi il problema è all'interno del codice qui sopra.
    Tra l'altro guardando la data dell'ultimo accesso al file, questa è ferma al 14/4, quindi le 24h sono abbondantemente passate.
    Al file ho dato privilegi sia 644 che 755, ma non va ugualmente.
    Quale potrebbe essere la causa?

  2. #2
    Che tipo di filesystem stai usando in remoto?

    Hai provato con filemtime() al posto di fileatime()?
    E richiamando clearstatcache(), ottieni qualche risultato?

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Il sito remoto è ospitato su un server Linux, in locale ho Windows.

    Ho inserito clearstatcache() prima del codice
    Ho usato filemtime() invece di fileatime()
    ma non ho avuto alcun cambiamento.

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Ho modificato la funzione che effettua la pulizia ed ora funziona anche online.
    Non ho però capito cosa gli desse fastidio visto che in locale andava anche come in origine.
    Vabbè, comunque ho risolto.

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.