Visualizzazione risultati 1 fino 11 di 11

Discussione: [Apache - Perl] Errore 500

  1. #1
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito [Apache - Perl] Errore 500

    Quando utilizzo un modulo, per esem.
    Codice PHP:
    use Net::HTTP;
    $s = Net::HTTP->new(Host => "name.tld") or die "Can not connect on server!\n";
    ...
    ...
    e digito 127.0.0.1/cgi-bin/script.pl, ritorna un errore 500.
    Invece se lo stesso script lo eseguo da riga di comando perl C:\percorso\script.pl funziona.
    Inoltre nei log errori di apache:
    (OS 3)Impossibile trovare il percorso specificato. : couldn't create child process: 720003: script.pl
    Premature end of script headers: script.pl
    L'errore lo solleva use, non trova il percorso C:\.....\perl\lib, perchè altri script che non utilizzano use funzionano.
    Secondo voi, qual è il problema?

  2. #2
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Prova a farti stampare gli include path da @INC


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  3. #3
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Ho fatto un:
    Codice PHP:
    print join("\n", @INC);

    da 127.0.0.1/cgi-bin/2.pl -> Errore 500 e log apache:
    (OS 3)Impossibile trovare il percorso specificato. : couldn't create child process: 720003: 2.pl
    [Wed Jan 05 14:24:30 2011] [error] [client 127.0.0.1] (OS 3)Impossibile trovare il percorso specificato. : couldn't spawn child process: C:/....cartella/cgi-bin/2.pl
    ----

    da riga di comando ->
    Codice:
    >perl -w 2.pl
    C:/server/perl/perl/site/lib
    C:/server/perl/perl/vendor/lib
    C:/server/perl/perl/lib
    .>Exit code: 0
    Ultima modifica di andreafallico : 05-01-2011 alle ore 15.34.11

  4. #4
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Togli la "use" che crea problemi o stampa nell'errorlog, altrimenti si vede niente.


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  5. #5
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Io, nel file 2.pl, ho scritto solo:
    Codice PHP:
    #!C:/server/perl/perl/bin/ -w

    print join("\n", @INC);
    senza use.

  6. #6
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Se non metti il Content-Type darà sempre errore.

    Codice:
    print "Content-Type: text/plain\n\n";


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  7. #7
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

  8. #8
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Il content type l'hai messo prima della print, vero?


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  9. #9
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Si.

    Siccome utilizzo la versione portable di Strawberry Perl, ora provo ad installarlo.
    Però io ho eseguito tutti i passaggi:
    How to use Strawberry Perl Portable?
    ------------------------------------

    * Extract strawberry portable ZIP into e.g. c:\......\
    Note: choose a directory name without spaces and non us-ascii characters

    * Launch c:\.....\portableshell.bat - it should open a command prompt window

    * In the command prompt window you can:

    1. run any perl script by launching

    c:\> perl c:\path\to\script.pl

    2. install additional perl modules (libraries) from http://www.cpan.org/ by

    c:\> cpan Module::Name

    3. run other tools included in strawberry like: perldoc, gcc, dmake ...

    * If you want to use Strawberry Perl Portable not only from portableshell.bat,
    you need to set the following environmental variables:

    1. add c:\.....\perl\site\bin, c:\.....\perl\bin, and c:\.......\c\bin
    to PATH variable

    2. set variable TERM=dumb
    Grazie lo stesso.

  10. #10
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Citazione Originalmente inviato da andreafallico Visualizza messaggio
    Siccome utilizzo la versione portable di Strawberry Perl, ora provo ad installarlo.
    Non credo che sia quello il problema.

    Tipicamente un errore 500 da parte del CGI c'è quando lo script muore in compilazione (troveresti l'errore nell'error log) oppure quando viene stampato qualcosa prima di aver dato il Document-Type oppure quando non viene stampato proprio niente.


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  11. #11
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Thumbs up Risolto

    Dovevo scrivere il percorso completo:
    Codice PHP:
    #!C:/server/perl/perl/bin/perl.exe
    invece scrivevo:
    Codice PHP:
    #!C:/server/perl/perl/bin/
    Grazie, ciao.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •