Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    28

    blocco applicazione per apertura file con fpdf

    Ciao a tutti!
    spero possiate aiutarmi, si tratta di lavoro.
    Ho creato un applicazione web per gestire un database ospedaliero abbastanza grande.
    Funziona tutto bene.

    Ho creato vari report con fpdf così che possano farsi delle stampe ben formattate dei dati che hanno inserito.

    Uno di questi report però da problemi.
    E' un report che va a recuperare dei dati da una tabella molto grande con un centinaio di campi e molti sono dei testi.
    Se qst tabella è compilata "male" nel senso poco compilata il report viene costruito e visualizzato senza dare problemi e nel file error.log di apache non viene scritto nessun messaggio.
    Se invece la tabella è ben compilata in ogni sua parte il report non viene caricato e blocca tutta l'applicazione dovendo chiuderla. Alla sua riapertura si nota però che qualsiasi report si tenti di aprire viene costruito tutto sballato senza gli allineamenti e con pezzi mancanti. L'unico modo per far tornare le cose normali è bloccare il server apache e cancellare il file error.log che diventa di dimensioni molto grandi sui centinaia di MB non riuescendo neanche più ad aprirlo per leggerlo (la grandezza dipende da quanto tempo si fa passare prima di bloccare il server). Facendo ripartire il server torna tutto alla normalità.

    A questo punto io credo sia un problema di trp dati che non riescono ad essere caricati, può essere? perchè se la tabella è poco compilata il report viene visualizzato senza problemi. e se è così come si può risolvere?

    Ricapitolando uso postgreSQL, apache, PHP e fpdf per creare i report in pdf.

    Scusate se ho scritto un poema ma volevo essere più esauriente possibile!!!
    Grazie a chiunque può essermi di aiuto! E' abbastanza urgente!
    Tata1283

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    I report pdf li crei al volo o sono salvati?

    Ora, non so bene cosa succeda da te, però se non ricordo male, le fpdf creano il file mettendo l'intera stringa di formattazione in una variabile che alla fine viene mandata in output.

    Le variabili con php ed apache, di default, possono raggiungere un massimo di 8Mb di dimensione.

    Se i dati che devi stampare in pdf sono così tanti come dici, è probabile che superi gli 8Mb di allocazione, e se il file è creato al volo anche in quel caso è probabile che non ti venga visualizzato alcun errore...

    Questa è la mia interpretazione, poi, boh.

    Sarebbe utile sapere anche che tipo di errore viene riportato nel log di apache
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    28
    il file error.log non riesco ad aprirlo perchè diventa di dimensioni trp grandi (anche 100MB) dipende quanto sono veloce a stoppare apache, quindi non riesco mai a leggere il messaggio di errore (o i messaggi). Cmq quando apro il pdf delle chede poco compilate non riporta nessun errore.
    Il file pdf lo faccio creare al volo, nel senso che schiacci un link e ti si apre il pop up del report in pdf.
    Se il problema è come dici tu cosa posso fare per sistemarlo? Almeno per provare sperando sia la soluzione giusta.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Prova ad aumentare la dimensione massima di memoria da allocare prima di cominciare la creazione del file.

    Codice PHP:
    ini_set("memory_limit"20M); 
    Non saprei dirti fino a quanto aumentarla, t'ho messo 20M giusto come esempio.
    Ovviamente il limite è fissato dalla machcina che usi, quando si blocca, sei arrivato
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    28
    ok, grazie!
    domani proverò e farò sapere, speriamo in bene!

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Bene, cmq credo di essermi dimenticato delle virgolette :P

    Codice PHP:
    ini_set("memory_limit""20M"); 
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    28
    HO RISOLTO! (inspiegabile!)
    Ho provato col tuo suggerimento ma io avevo già settato memory_limit a 100MB quindi non poteva essere quello.
    Ho scaricaro scite per poter leggere gli errori in error.log e praticamento ho notato che non riusciva a vedere nessun campo della tabella che volevo stampasse.
    Allora pian piano ho tolto codice allo script scoprendo che c'era una parte che creava tutta qst magagna!
    Non ho fatto altro che spostare quelle righe fuori da un ciclo e tutto funziona!!
    Non si spiega perchè per le schede poco compilate qst roba non succedeva!!!
    Mah!
    Vabeh tutto è bene quel che finisce bene!!!
    Grazie mille per il tuo aiuto!!
    Alla prox (speriamo di no )

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Olé, son contento, i misteri dell'informatica... o forse no

    Ciao, buon lavoro
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

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.