Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022

    lettura file restituisce pagina bianca

    Sto impazzendo! Premetto che sto lavorando su windows.

    Il problema non è lo script, perché se lo inserisco in locale nella cartella cgi-bin di Apache funziona perfettamente.
    Tale script apre un file di testo che si trova nella stessa cartella cgi-bin

    open FILE, "<", "prodotti.txt";

    ed elenca il contenuto con un semplice ciclo while(<FILE>){eccetera...

    Se questo stesso script lo inserisco nella cartella cgi-bin di una directory virtuale, il file non viene letto (comunque lo script non funziona). Stesso problema se lo metto on line su uno spazio web di cui dispongo (Windows). In realtà non viene generato alcun errore: ottengo una pagina bianca con tutti i tag scritti correttamente dalle varie istruzioni print, ma come se mancasse la parte relativa alla lettura del file.

    Deduco che il problema dovrebbe essere relativo alla configurazione dei permessi. Ho perso tre ore a smanettare con il file httpd.conf senza riuscire a venirne a capo. Ho anche spostato il files in un'altra cartella... niente da fare.

    Qualcuno sa dirmi dov'è l'errore? Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    A me risulta che sbagli sintassi.

    open(FILE, "<prodotti.txt");

    open(FILE, "<"."prodotti.txt");


    Con la tua sintassi non trova il nome del file.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022
    No, la sintassi non è sbagliata. Si può scrivere anche come ho fatto io ( open HANDLE, MODO, NOMEFILE )

    Ripeto, lo script funziona correttamente nella cartella cgi principale del server. Ho semplicemente copiato il file in un'altra cartella cgi di una directory virtuale. Ci deve essere qualche problema di configurazione che mi sfugge. Comunque grazie

  4. #4
    Ciao,

    chi è il proprietario dello script?
    di chi è la directory in cui hai spostato il file da leggere?
    di chi è il file da leggere?

    che permessi hanno?
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  5. #5
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022
    I files risiedono in realtà su una usb-pen. Per evitare problemi ho reso disponibile l'accesso a tutti gli utenti, in lettura e scrittura (dico in Windows).
    Continuo a credere invece che il problema risieda nella configurazione del file di Apache. Probabilmente è qui che setto male i permessi.

    Nel files httpd.conf ho aggiunto una directory virtuale in questo modo

    Alias /mytemp/ "G:/cartella_esterna/"

    <Location /mytemp>
    SetHandler perl-script
    PerlHandler Apache::Registry
    Options ExecCGI
    </Location>

    Il percorso della cartella in cui metto gli script è "G:/cartella_esterna/cgi-bin"

    Funzionano tutti gli script, tranne quelli che leggono i files...

    Potrei risolvere il problema lavorando direttamente nella directory cgi principale di Apache, ma poiché salto da un computer all'altro ho una certa necessità di mantenere i dati su un supporto mobile.

  6. #6
    prova ad inserire:

    <Location /mytemp>
    SetHandler perl-script
    PerlHandler Apache::Registry
    Options ExecCGI

    Order allow,deny
    Allow from all
    </Location>
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  7. #7
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022
    Niente da fare. Ci rinuncio
    Ti ringrazio.

  8. #8
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022

    e invece non ci rinuncio!

    Così funziona! Era l'uovo di Colombo!

    open FILE, "<", "G:/cartella_esterna/cgi-bin/prodotti.txt";

    A quanto pare, pur impostando la directory virtuale, il percorso dei files deve essere completo. Oppure esiste una qualche direttiva per risolvere il problema?

  9. #9
    aaazzz!!!

    no... perchè il fatto è che quando uno script viene lanciato come CGI dal web server si comporta come se fosse stato lanciato da shell per cui deve avere gli indirizzi riferiti al sistema su cui sta e non quelli di apache.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  10. #10
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022
    Pazienza. Vorrà dire che al termine dello sviluppo dovrò cambiare tutte le path.
    Ti ringrazio molto Shishii!

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.