Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    253

    problema funzionamento su windows server

    Ciao,
    Ho dei perl script e devo caricarli nella cgi-bin di un server windows 2003,
    (hosting su aruba)
    Il problema è che gli script sono stati creati per un linux.
    quando lancio lo script sotto windows mi da il seguente errore:

    CGI Error
    The specified CGI application misbehaved by not returning a complete set of HTTP headers.

    Da cosa è causato?
    Sotto linux lo script funzona correttamente.
    Ho provato a cambiare l'intestazione del cgi ma non va lo stesso.
    (da #!/usr/bin/perl a #!/usr/local/bin/perl).

    Grazie Ciao!
    Jo

  2. #2
    su windows conta l'estensione del file e se alla stessa è associato l'interprete.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    253
    Originariamente inviato da shishii
    su windows conta l'estensione del file e se alla stessa è associato l'interprete.
    L'estensione che utilizzo è pl, ho fatto la prova con un perl script semplice. stampando una scritta e funziona.

    Il problema forse sta allora nel codice?
    Jo

  4. #4
    Probabilmente allora lo script non restituisce una risposta http corretta.

    In pratica uno script CGI deve sempre, prima di chiudere, inviare al server una risposta di questo tipo:

    print "Content-type: text/html\n\n";
    print "qualunque cosa";
    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
    Registrato dal
    Nov 2003
    Messaggi
    253
    Originariamente inviato da shishii
    Probabilmente allora lo script non restituisce una risposta http corretta.

    In pratica uno script CGI deve sempre, prima di chiudere, inviare al server una risposta di questo tipo:

    print "Content-type: text/html\n\n";
    print "qualunque cosa";
    Niente da fare.... può essere una libreria che includo?

    require "libreria.pl"


    grazie
    Jo

  6. #6
    se si trattasse di quello il messaggio di errore dovrebbe essere diverso, comunque prova a mettere:

    use lib "path directory in cui sta la libreria";
    require "libreria.pl";
    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
    Registrato dal
    Nov 2003
    Messaggi
    253
    Originariamente inviato da shishii
    se si trattasse di quello il messaggio di errore dovrebbe essere diverso, comunque prova a mettere:

    use lib "path directory in cui sta la libreria";
    require "libreria.pl";
    Ho commentato tutto lo script lasciando solo l'intestazione e la dichiarazione della libreria. non va, solito errore.

    Poi ho commentato la libreria e l'errore non lo da più.
    Ho provato a lanciare la libreria singolarmente ma non da errori.

    Ho utilizzato lo use lib con il path preso dalla variabile d'ambiente PATH_TRANSLATED è giusto?

    Ma non va lo stesso....
    Il problema allora forse sta solo nel modo di includere una libreria?
    Jo

  8. #8
    Nel mio sistema PATH_TRANSLATED non c'è quindi non so dirti.
    Quello che devi inserire è il path di sistema, se sei su windows una cosa tipo
    use lib 'C:\directory\directory';

    su linux
    use lib "/usr/lib/ecc";

    ovviamente devi indicare il percorso per raggiungere la tua libreria e senza l'indicazione della stessa.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    253
    Originariamente inviato da shishii
    Nel mio sistema PATH_TRANSLATED non c'è quindi non so dirti.
    Quello che devi inserire è il path di sistema, se sei su windows una cosa tipo
    use lib 'C:\directory\directory';

    su linux
    use lib "/usr/lib/ecc";

    ovviamente devi indicare il percorso per raggiungere la tua libreria e senza l'indicazione della stessa.
    Non funziona ancora... Ho inserito il path senza l'indicazione della libreria ma non va...
    Jo

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.