Schrift
[thread]12850[/thread]

DBD::Oracle : funktioniert in der shell, aber nicht als cgi



<< >> 4 Einträge, 1 Seite
McSvenster
 2008-12-02 16:00
#116780 #116780
User since
2008-11-19
12 Artikel
BenutzerIn
[default_avatar]
hm, wie formuliere ich das? Hallo erstmal...

Ich habe zum Test ein Script geschrieben, dass sich mit einer Oracle- Datenbank verbindet und mir aus einer Tabelle mein Geburtsdatum holt. Wenn ich das Script aufrufe (SK1# perl test.pl) funktioniert es prima. Beim Aufruf als cgi-script gibt es eine Fehlermeldung, in der sich das System m.W. beschwert, dass DBD einen 32bit - Treiber bereitstellt, Oracle aber als 64 bit- Anwendung läuft. OS ist Solaris, die Fehlermeldung lautet:

install_driver(Oracle) failed: Can't load '.../auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: ld.so.1: perl: fatal: .../app/oracle/product/102/lib/libclntsh.so.10.1: wrong ELF class: ELFCLASS64 at .../product/perl-5.8.7/lib/5.8.7/sun4-solaris/DynaLoader.pm line 230.

Da mehrere Leute auf diesem Testserver "rumhacken" weiss ich nicht genau, was wo installiert ist, aber könnte es sein, das ich mit perl test.pl eine andere Perl- Installation aufrufe als das cgi- script?

Kennt einer von Euch das Phänomen?

Dank und Grüsse
Sven
moritz
 2008-12-02 18:24
#116789 #116789
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
Mein erster Verdacht waeren unterschiedliche Umgebungsvariablen (sowas wie PERL5LIB, LD_PRELOAD usw) - gib die doch mal sowohl auf der Kommandozeile als auch im CGI aus und vergleiche die.
Linuxer
 2008-12-02 20:34
#116793 #116793
User since
2006-01-27
3890 Artikel
HausmeisterIn

user image
Vielleicht sind auch mehrere verschiedene Perl-Installationen vorhanden.
So könnte der normale Nutzer eine ganze andere Version zur Verfügung haben als letztendlich im Webserver benutzt wird.

Was passiert, wenn Du das Skript mal so aufrufst?
Code: (dl )
1
2
$ cd $TESTDIR
$ ./test.pl # anstatt perl test.pl
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
McSvenster
 2008-12-02 20:51
#116794 #116794
User since
2008-11-19
12 Artikel
BenutzerIn
[default_avatar]
schonmal vielen Dank für die schnellen Antworten. Es gibt doch ein paar unterschiede in den Umgebungsvariablen:
Auf der Konsole sind es 206, via cgi nur 27. Ich spare mir hier die Aufzählung und suche da mal weiter.

Code: (dl )
# ./test.pl
funktioniert genau wie
Code: (dl )
# perl test.pl
.

Ich checke jetzt erstmal die Ausgabe der 206 Variablen gegen die 27 und melde mich dann nochmal.

Gruss
Sven

02.12.08, 20:00 Uhr: hm... sie benutzen dieselbe Perl- Installation.

Hat noch jemand eine Idee?
Dank und Gruss
S.
<< >> 4 Einträge, 1 Seite



View all threads created 2008-12-02 16:00.