server di Perl e Apache HTTP: Non può fare Tie MLDBM quando lo script CGI viene eseguito dal server, ma va bene quando eseguito dalla riga di comando. Perché?

StackOverflow https://stackoverflow.com/questions/3060262

Domanda

aiuto per favore! Sono davvero impazzendo con questo problema!

Ho uno script CGI Perl e viene a mancare sempre la seguente riga quando eseguito dal server Apache HTTP:

tie %db, 'MLDBM', "$data_path/$db_name.db", O_RDONLY, 0640 or die $!

e l'errore viene Autorizzazione negata:

  

Errore software:

     

Permesso negato in / var / www / cgi-bin / pagine / rich / visualizzazione della linea 381.

     

Per informazioni, si prega di inviare una mail al webmaster (root @ localhost), dando a questo messaggio di errore e l'ora e la data dell'errore.

Ma quando eseguito dalla riga di comando, funziona senza alcun problema.

Ho assicurato che le directory ei file di legare hanno le autorizzazioni corrette.

Quindi, che cosa ho mi sono perso? Quali configurazioni di sbagliato httpd.conf ho potuto essere sempre al di Apache? Certo, non ho avuto alcuna precedente esperienza con il server HTTP Apache, quindi questo è più o meno la mia prima volta a giocare con esso. Tuttavia, ho letto i manuali più di una volta a cercare cose che potrei essere sbagliato, ma non ho notato nulla. Ma potrei sbagliarmi, naturalmente.

Grazie !!

È stato utile?

Soluzione

Si è verificato che $data_path e $db_name contengono ciò che si pensa che fanno?

Is $data_path un percorso assoluto che non fa affidamento sulla directory identità o home dell'utente attivo?

Cosa ls -l $data_path/$db_name.db spettacolo per proprietà e le autorizzazioni del file?

Non ho mai eseguito in tutta (o sentito) nulla in apache che impedirebbe un processo CGI da avere il permesso di file aperti, quindi dubito fortemente che si tratta di un problema di configurazione di apache. Molto probabilmente è sia alla ricerca di file sbagliato o autorizzazioni del file non sono corrette per l'utente che Apache è in esecuzione il processo CGI come.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top