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

    [php+sql] problemi con la classe che fa il backup dei db => da phpsoft.it

    ho scaricato la classe per fare il backup dei database, l'ho sempre usata e funziona benone se devo fare il backup di tutto il db, ma nel momento in cui faccio il backup solo di una determinata tabella ottengo un txt con caratteri incomprensibili...questo è un pezzo del backup:
    ‹ í}“›F¶ðÿ~ò)ºjÿ˜¤J£¥y'[·êiA µhÒ€œ™Ú*ÇIfo\×kç‰Ýg¿Ýýh÷œn„

    bello?


    non so se ho fatto qualche errore, ma ho applicato il codice così come sta scritto nell'esempio sul sito.
    Questo è il mio codice:
    codice:
    <?php
    require_once("MySQL_DumpDB.cls.php");
    //echo date("l dS of F Y h:i:s A")."\r\n";
    $DB_HOST = "localhost";
    $DB_USER = "pippo";
    $DB_PASS = "pluto";
    $link = mysql_connect($DB_HOST, $DB_USER, $DB_PASS);
    
    // Instanzia la classe
    $dbdump = &new MySQL_DumpDB();
    // seleziono il db
    $dbdump->select_db("saro_new");
    // Aggiungo la tabella che mi interessa
    $dbdump->add_tables("cc_outbound");
    // Esporta il database inserendo i DROP TABLE e usando i backquotes! Non usa USE `NOME_DB`
    $dbdump->export_dump(TRUE, FALSE, TRUE);
    // Inserisce il DUMP in una variabile, dicendogli di comprimerlo
    $dump = $dbdump->get_dump(TRUE);
    // Scrive su file il dump
    $fp = fopen('../dump/chiamate_'.date("w").'.txt' , 'w+');
    
    fwrite($fp, $dump);
    fclose($fp);
    ?>
    c'è qualcosa di sbagliato?





    grazie per qualsiasi aiuto!
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  2. #2
    ragazzi vi prego! sto impazzendo ho preso pari pari l'esempio che c'è sul sito e ora anche per l'esportazione del db mi mette caratteri incomprensibili, nonostante abbia aggiunto la riga header("Content-Type: text/plain");



    cosa posso fare? oltre a sbattere la testa contro il muro?
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  3. #3
    hai abilitato la compressione
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  4. #4
    eh si ho notato proprio ora...infatti ho cambiato il nome e ora funziona:
    codice:
    $fp = fopen('dump/chiamate_'.date("w").'.sql.gz' , 'wb');
    ora l'unico problema è che ricevo un warning del tipo:
    Fatal error: Allowed memory size of 12582912 bytes exhausted (tried to allocate 5526 bytes) in /store/domains.../MySQL_DumpDB.cls.php on line 441

    per 400kb di backup
    vedo se riesco a farmi aumentare il limite.........


    con una tabella più piccola funziona bene, che palle 'sto limiti!



    grazie!
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  5. #5
    purtroppo so bene li qual'è il problema, come lo sai anche tu

    c'è un modo per aggirarlo, ma devo riscrivere 3/4 del codice e, anche se l'ho in programma, non ho completamente tempo per farlo ... ne tempo ne testa al momento
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  6. #6
    diciamo che il problema posso sapere qual è, ma a differenza di te non so come aggirarlo


    vedo di dare un'occhiata in giro! grazie mille
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  7. #7
    in parole molto semplici ...

    ora come ora metto tutto in memoria e poi scrivo su disco ... devo invece prendere i dati e scriverli uno per uno avendo solo un piccolo buffer sufficente per immagazzinare una riga di dati
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  8. #8
    Originariamente inviato da daniele_dll
    in parole molto semplici ...

    ora come ora metto tutto in memoria e poi scrivo su disco ... devo invece prendere i dati e scriverli uno per uno avendo solo un piccolo buffer sufficente per immagazzinare una riga di dati
    ah ecco! allora era lo stesso problema che avevo anche io non molto tempo fa con uno script, dove mi costruivo una query piuttosto grandicella andando a leggere i valori da un txt e solo alla fine la eseguivo, mantenendo nel frattempo tutto in memoria...poi eseguendo invece una piccola query di volta in volta non mi andava in timeout l'esecuzione.


    Ora guardo, magari riesco a metterci mano senza distruggere tutto...appena ho un attimo ci provo
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  9. #9
    beh

    principalmente devono cambiare 2 cose

    1° - devi impostare prima se vi è compressione
    2° - all'interno del metodo che esegue il dump va inserito il codice che apre lo stream/file (stream nel caso di compressione) e vi scriva, alla fine del ciclo while, i dati

    se hai un po di pazienza, vedo per stasera di fare le modifiche

    già ne ho fatte svariate, ancora c'è un poco di lavoro, ma se tutto procede bene per stasera ho finito
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  10. #10
    non preoccuparti per la pazienza non è un problema

    anche perché ora mi hanno dato altre cose da fare e fino a domani (se non oltre) dubito di metterci le mani!



    Grazie mille per la disponibilità!
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

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.