Schrift
[thread]12456[/thread]

Applikation läuft von Web aber nicht von Shell



<< >> 5 Einträge, 1 Seite
kolvar
 2008-09-08 19:09
#114365 #114365
User since
2008-09-08
2 Artikel
BenutzerIn
[default_avatar]
Hallo,

erst einmal zu meinem Hintergrund: Ich bin eigentlich kein Perlprogrammierer und habe daher vermutlich einige Fehler gemacht. Mein Problem ist, dass ich einen Server umziehen muß, sprich, alte Perlscripte eines anderen Programmierers auf dem neuen Server (Debian-Etch) zum laufen bringen muß.
Das funktioniert inzwischen auch gar nicht so schlecht, zumindest sieht alles auf der Weboberfläche gut aus und tut anscheinend auch das, was es tun soll. Nur muß ich leider auch einige Scripte per Cron ausführen. Und hier wird, wie auch vom Web aus, auf eine Datei namens "fax_db_lib.pm" zugegriffen, die die folgende Funktion zur Verfügung stellt:
Code (perl): (dl )
1
2
3
4
5
sub connect_db { # Datenbank konnektieren

    $dbh = DBI -> connect($driver, $dbuser, $password) or &error("Fehler beim Konnektieren der Datenbank");
    return $dbh;
}

wird diese Funktion vom Web aus aufgerufen, erhalte ich Zugriff auf die Datenbank. Vom Shell aus erhalte ich:

Code: (dl )
Speicherzugriffsfehler


Da ich das ganze Projekt ohne große Erfahrung in Perl-Modul-installation begonnen hatte, verlief der CPAN-Erststart sehr schlecht, d.h. ich hatte einige Programme, die CPAN gerne haben möchte, nicht installiert. Inzwischen habe ich auch Perl mehrfach neuinstalliert (über apt-get und auch über "make install", da ich mich von CPAN zu perl5.10 habe verleiten lassen, was dann aber nicht mehr mit der libperl funktioniert hat). CPAN-client spinnt ein wenig und ich muß die meisten Module, die es herunterlädt per Hand installieren oder über die apt-get-schiene.

So, die Frage ist nun, was habe ich vermurkst, dass das von der Shell aus nicht läuft. Ich wäre sehr dankbar für einen Hinweis, da mir langsam ein wenig die Ideen ausgehen.

Herrzlichen Gruß und danke schon mal für lesen

kolvar
Taulmarill
 2008-09-08 19:29
#114368 #114368
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
Dateien mit der Endung ".pm" sind i.d.R. keine selbst lauffähigen Programme sondern Module, die von anderen Programmen aufgerufen werden und daher auch nur selten mit Sinnvollem Ergebnis von der Kommandozeile aus direkt aufrufbar.

Des weiteren hört sich "Speicherzugriffsfehler" auch weniger nach einer Standartfehlermeldung an. Du könntest mal ein "grep" nach dem Begriff über deine Sourcen laufen lassen und schauen, wo die Meldung her kommt.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
nepos
 2008-09-08 19:37
#114369 #114369
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Speicherzugriffsfehler klingt für mich eher nach einem Segfault.
Was hast du denn da alles vom alten Server umgezogen? Sind da eventuell eigene Module dabei, die nicht nur in Perl geschrieben sind?
Bei DBI sind normal die DBD::xxx-Module kompiliert und gegen die Libraries fuer die Datenbanken gelinkt. Eventuell hast du hier ein Problem.
Der von dir gezeigte Code will sich ja eigentlich nur mit einer Datenbank verbinden.
Gast Gast
 2008-09-08 19:48
#114371 #114371
Benutze unter Linux das Distri-eigene Paketmanagement um Module zu installieren, dann werden sie darüber aktuell gehalten. (Bei debian ist das apt-get)

Bei der Meldung würde ich vermuten, dass eines der Installierten Module nicht funktioniert/nicht richtig kompiliert wurde.
kolvar
 2008-09-09 15:51
#114423 #114423
User since
2008-09-08
2 Artikel
BenutzerIn
[default_avatar]
Erst mal herrzlichen Dank für die Antworten.
Bei den Modulen versuche ich gerade neuzuinstalliere (--reinstall), aber bisher kein Ergebnis.
Installierte Module sind (libdbd-mysql-perl und libdbi-perl habe ich auch gerade reinstalliert)
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
ii  libapache2-mod-perl2           2.0.2-2.4                            Integration of perl with the Apache2 web ser
ii libapache2-request-perl 2.08-4 generic Apache request library - Perl module
ii libarchive-tar-perl 1.30-2 Archive::Tar - manipulate tar files in perl
ii libbit-vector-perl 6.4-5 Perl and C library for bit vectors and more
ii libcarp-clan-perl 5.8-1 Perl enhancement to Carp error logging facil
ii libcgi-perl 2.76-24 modules for perl5, for use in writing CGI sc
ii libclass-accessor-perl 0.30-1 Automated accessor generator
ii libclass-data-inheritable-perl 0.04-1 Inheritable, overridable class data
ii libclass-trigger-perl 0.10-2 Mix-in to add / call inheritable triggers
ii libclone-perl 0.18-1 recursively copy Perl datatypes
ii libcompress-zlib-perl 1.42-2 Perl module for creation and manipulation of
ii libconfig-yaml-perl 1.42-1 Simple configuration automation
ii libdate-calc-perl 5.4-5 Perl library for accessing dates
ii libdbd-mysql-perl 3.0008-1 A Perl5 database interface to the MySQL data
ii libdbi-perl 1.53-1etch1 Perl5 database interface by Tim Bunce
ii libdbix-easy-perl 0.16-1 Easy to Use DBI Interface
ii libdevel-symdump-perl 2.03-3 Perl module for inspecting perl's symbol tab
ii libdigest-sha-perl 5.44-1 Perl extension for SHA-1/224/256/384/512
ii libextutils-autoinstall-perl 0.61-1.1 Automatic install of dependencies via CPAN
ii libextutils-cbuilder-perl 0.18-1 Compile and link C code for Perl modules
ii libextutils-parsexs-perl 2.15-2 convert Perl XS code into C code
ii libgd-gd2-perl 2.34-1 Perl module wrapper for libgd - gd2 variant
ii libhtml-parser-perl 3.55-1 A collection of modules that parse HTML text
ii libhtml-tagset-perl 3.10-2 Data tables pertaining to HTML
ii libhtml-tree-perl 3.19.01-2 represent and create HTML syntax trees
ii libio-stringy-perl 2.110-2 Perl5 modules for IO from scalars and arrays
ii libio-zlib-perl 1.04-1 IO:: style interface to Compress::Zlib
ii liblocale-gettext-perl 1.05-1 Using libc functions for internationalizatio
ii libmodule-build-perl 0.26-1 Subclassable and make-independant perl modul
ii libnet-daemon-perl 0.38-1.1 Perl module for building portable Perl daemo
ii libnet-lite-ftp-perl 0.47-2 Perl FTP client with support for TLS
ii libnet-ssleay-perl 1.30-1 Perl module for Secure Sockets Layer (SSL)
ii libperl5.8 5.8.8-7etch3 Shared Perl library
ii libplrpc-perl 0.2017-1.1 Perl extensions for writing PlRPC servers an
ii libtext-charwidth-perl 0.04-4 get display widths of characters on the term
ii libtext-csv-perl 0.23-8 perl Text::CSV_XS - comma-separated values m
ii libtext-iconv-perl 1.4-3 converts between character sets in Perl
ii libtext-wrapi18n-perl 0.06-5 internationalized substitute of Text::Wrap
ii libuniversal-moniker-perl 0.08-4 Nicer names for your Perl modules/classes
ii liburi-perl 1.35-2 Manipulates and accesses URI strings
ii libversion-perl 0.6701-1 Perl extension for Version Objects
ii libwww-perl 5.805-1 WWW client/server library for Perl (aka LWP)
ii libxml-libxml-common-perl 0.13-5 Perl module for common routines & constants
ii libxml-namespacesupport-perl 1.09-3 Perl module for supporting simple generic na
rc libxml-sax-perl 0.12-5 Perl module for using and building Perl SAX2
ii libyaml-perl 0.62-1 YAML Ain't Markup Language (tm)
ii perl 5.8.8-7etch3 Larry Wall's Practical Extraction and Report
ii perl-base 5.8.8-7etch3 The Pathologically Eclectic Rubbish Lister
ii perl-modules 5.8.8-7etch3 Core Perl modules

Wie gesagt, vom Web aus funktioniert es auch prima.
Ein Haufen Module/.pm-Dateien sind von dem Programmierer, aber die scheinen alle sauber eingebunden zu werden. Wenn ich den Aufruf der oben genannten Funktion aus allen aufzurufenden Scripten herausnehme, gibt es eine andere Fehlermeldung (entsprechend dem, was man erwartet, wenn eine Datenbankabfrage gemacht wird, für die keine Verbindung da ist).
Das grep über den Server läuft noch, aber es scheint so, als wenn der Fehleraufruf in den Dateien
Code: (dl )
1
2
/usr/share/locale/de/LC_MESSAGES/libc.mo
/usr/share/locale/de/LC_MESSAGES/libapt-pkg3.11.mo

vorhanden wäre.
Fehlt mir irgendein Modul? habe ich irgendeinen Aufruf übersehen?
Hilfe!

kolvar
<< >> 5 Einträge, 1 Seite



View all threads created 2008-09-08 19:09.