Problem mit Perlscript

Alles, was Perl betrifft, kann hier besprochen werden.

Problem mit Perlscript

Postby wneudeck » 24. January 2009 11:17

Hallo,
hatte schon mal ein ähnliches Problem, s.
viewtopic.php?f=8&t=26790
bei dem ein falscher Pfadeintrag von mir schuld war.
Habe nun die Version 1.7.0 von XAMPP installiert und seitdem kann ich das besagte script wieder nicht aufrufen.
Am Pfadeintrag, der damals falsch war, sollte es diesmal nicht liegen, er lautet in den verwendeten scripten (crondump.pl, perltest.pl und simpletest.pl), die sich im Verzeichnis cgi-bin befinden und vom aufrufenden Programm mysqldumper erstellt wurden, jeweils
#!"C:\xampp\perl\bin\perl.exe"
Im Browser erscheint die Meldung
Serverfehler!
Die Anfrage kann nicht beantwortet werden, da im Server ein interner Fehler aufgetreten ist.
Fehlermeldung:
Premature end of script headers: simpletest.pl

und im errorlog von Apache kommt:
[Sat Jan 24 11:02:21 2009] [error] [client 127.0.0.1] Premature end of script headers: simpletest.pl, referer: http://localhost/mysqldumper/filemanage ... ction=dump
[Sat Jan 24 11:02:21 2009] [error] [client 127.0.0.1] Can't locate strict.pm in @INC (@INC contains: .) at C:/xampp/cgi-bin/simpletest.pl line 2.\r, referer: http://localhost/mysqldumper/filemanage ... ction=dump
[Sat Jan 24 11:02:21 2009] [error] [client 127.0.0.1] BEGIN failed--compilation aborted at C:/xampp/cgi-bin/simpletest.pl line 2.\r, referer: http://localhost/mysqldumper/filemanage ... ction=dump

Sind noch weitere Infos erforderlich oder reicht das für eine Hilfestellung?
Tschüss Werner
Last edited by wneudeck on 24. January 2009 11:52, edited 1 time in total.
wneudeck
 
Posts: 95
Joined: 31. July 2006 11:04

Re: Problem mit Perscript

Postby Wiedmann » 24. January 2009 11:23

Habe nun die Version 1.7.0 von XAMPP installiert und seitdem kann ich das besagte script wieder nicht aufrufen.

Hast du auch ein (komplettes) Perl installiert?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: Problem mit Perscript

Postby wneudeck » 24. January 2009 11:37

Hallo,
ich habe halt das normale Windows-Installationspaket genommen (Xampp-Win32-1.7.0-installer.exe) und im Xampp-Verzeichnis befindet sich auch das Unterverzeichnis Perl (darin \bin und dort die perl.exe)
Nachtrag:
Heißt dies, dass ich auch das angebotene perl-Addon (Perl 5.10.0-2.2.11
XAMPP 1.7.0 - 1.6.8
Apache 2.2.11 )
installieren müsste? -->Xampp-Win32-perl-addon-5.10.0-2.2.11-installer.exe
wneudeck
 
Posts: 95
Joined: 31. July 2006 11:04

Re: Problem mit Perlscript

Postby wneudeck » 24. January 2009 15:53

Hallo,
habe jetzt mal das von mir oben genannte addon für perl installiert. Es sieht insofern schon besser aus, als Perl jetzt offensichtlich funktioniert. Zumindest, wenn ich vom Programm mysqldumper (dies ist mein Backupprogramm für die Datenbanken) aus den perltest durchführe, wird gemeldet, dass perl ordnungsgemäß installiert ist.
Wenn nun aber die eigentliche Datensicherung gemacht werden soll, kommt im Browser folgende Meldung:
connect to database`wetwin`
Software error:
install_driver(mysql) failed: Can't load 'C:/xampp/perl/site/lib//auto/DBD/mysql/mysql.dll' for module DBD::mysql: load_file:Das angegebene Modul wurde nicht gefunden at C:/xampp/perl/lib/DynaLoader.pm line 203.
at (eval 104) line 3
Compilation failed in require at (eval 104) line 3.
Perhaps a required shared library or dll isn't installed where expected
at C:/xampp/cgi-bin/crondump.pl line 246

Dann habe ich setup_xampp.bat ausgeführt und sowohl 'Configuration with mod_perl' als auch "configuration without mod_perl' durch geführt.
Nun sieht die Fehlermeldung etwas anders aus:
connect to database`wetwin`
Software error:

install_driver(mysql) failed: Attempt to reload DBD/mysql.pm aborted.
Compilation failed in require at (eval 248) line 3.

at C:/xampp/cgi-bin/crondump.pl line 246

Für mich stellt sich jetzt natürlich die Frage, ob es ein Problem von xampp/Perl ist oder ein Problem des mysqldumper.
Nur: In der Xampp-Version 1.6.8 hat er ja einwandfrei funktioniert.
wneudeck
 
Posts: 95
Joined: 31. July 2006 11:04

Re: Problem mit Perlscript

Postby Nobbie » 24. January 2009 23:16

wneudeck wrote:Nur: In der Xampp-Version 1.6.8 hat er ja einwandfrei funktioniert.


Das Thema war ja abgehakt - "never change a running system" war ja uninteressant. Lieber auf gut Glück eine funktionierende Umgebung zerballern, in der wagen Hoffnung, irgendetwas wäre danach vielleicht sicherer (falls es vorher unsicher war).

Kein Mitleid von mir. Kaputtgegraded - wie nicht anders zu erwarten.
Nobbie
 
Posts: 6584
Joined: 09. March 2008 13:04

Re: Problem mit Perlscript

Postby wneudeck » 24. January 2009 23:47

Hallo,
Mitleid erwarte ich auch nicht :) , aber konstruktiv ist Dein Posting auch nicht.
Und: Warum kommt dann eine neue Version, wenn es die alte eigentlich auch tut?
Warum eigentlich diese Bemerkung:
wie nicht anders zu erwarten.

Wieso ist zu erwarten, dass die neue Version Schrott ist (sorry für die harte Bemerkung)
Nachtrag: Übrigens, nicht dass Du meinst, ich wäre beratungsresistent: ich habe Deinen Ratschlag sehr wohl ernst genommen. Nur ich hatte bisher mit Xampp eigentlich recht gute Erfahrungen. Die Probleme, die ich in der Vergangenheit hatte und bei denen mir vor allem Wiedmann gut geholfen hat, waren nicht durch xampp, sondern durch mich selbst verursacht.

Tschüss Werner
wneudeck
 
Posts: 95
Joined: 31. July 2006 11:04

Re: Problem mit Perlscript

Postby wneudeck » 25. January 2009 13:22

Hallo,
habe nun mal beim Programmierer des mysqldumper rückgefragt. Er meint, mit dem mysqldumper könne es nach dieser Sachlage nichts zu tun haben, es müsse ein Problem innerhalb von mysql/perl sein. Eben auch wegen der meldung:
install_driver(mysql) failed: Attempt to reload DBD/mysql.pm aborted.
Compilation failed in require at (eval 248) line 3.

Muss ich noch weitere Angaben machen?
Tschüss Werner
wneudeck
 
Posts: 95
Joined: 31. July 2006 11:04

Re: Problem mit Perlscript

Postby Nobbie » 25. January 2009 15:50

Am Xampp liegt das nicht. Das liegt an Perl, da fehlt ein Datenbankmodul.

Ich weiß ja nicht, was Du vorher benutzt hast und was Du jetzt benutzt. Perl wird ja nicht standardmäßig von Xampp installiert (nur das Miniperl, aber das kann ja gar nichts), deswegen mußt Du ein eigenes Perl (ActivePerl) installieren.

Diese Meldung gab es schon öfter hier im Forum, aber ich selbst benutze kein Perl (und sowieso nicht den mysqldumper - dessen Sinn erschließt sich mir nicht bei lokalen Rechnern).
Nobbie
 
Posts: 6584
Joined: 09. March 2008 13:04

Re: Problem mit Perlscript

Postby wneudeck » 25. January 2009 16:27

Hallo,
und was Du jetzt benutzt.

Ich nutze, wie weiter oben von mir angegeben, das Perl-Addon, das auf
http://www.apachefriends.org/de/xampp-windows.html
angeboten wird. Wird mir in XAMPP als Perl 5.10.0 angezeigt.
Als Erklärung, warum der mysqldumper auch lokal benutzt wird:
Bei mir werden Wetterdaten in einer lokalen Datenbank gespeichert. Dieselben Daten werden aus dieser Datenbank in eine Datenbank auf dem entfernten Server übertragen. Und wenn hier eben nun mal ein Problem auftritt, egal welcher Art, kann ich mit dem mysqldumper ganz schnell auf dem entfernten Server die Datenbank wiederherstellen.
Wenn nun also der mysqldumper (oder genauer gesagt, dieses Perlscript) lokal nicht funktioniert, geht für mich zwar die Welt nicht unter (ich sichere eben die lokale Datenbank dann konventionell), aber ich hätte eben gern, dass es läuft, wenn ich es nun schon mal habe.
Langer Rede kurzer Sinn: Ich stimme mit Dir überein, dass hier anscheinend ein Datenbankmodul in perl fehlt, aber ich wüsste eben nicht, was ich hier ändern sollte. Das ist mein Poblem.
Tschüss Werner
wneudeck
 
Posts: 95
Joined: 31. July 2006 11:04

Re: Problem mit Perlscript

Postby Nobbie » 25. January 2009 17:37

So, ich habe es komplett am laufen.

Ich habe ActivePerl 5.10 heruntergeladen (von http://www.activestate.com) und in c:/perl installiert. Dann habe ich mysqldumper heruntergeladen und in c:/xampp/htdocs installiert (htdocs/mysqldumper).

Dann habe ich in den Perl-Dateien die erste Zeile (Shebang) angepasst auf:

Code: Select all
#!c:/perl/bin/perl.exe


In httpd.conf habe ich für Perl-Dateien den cgi-handler aktiviert:

Code: Select all
Addhandler cgi-script .pl


Darauf achten, dass beim htdocs-Ordner im Directory die Options ExecCGI aktiviert sind, damit überall Perl-Dateien ausgeführt werden können.
WICHTIG: danach Apache neu starten.

Dann in c:/xampp/htdocs/mysqldumper/msd_cron/crondump.pl den absolute_path_of_configdir anpassen. Wichtig: kein C: voranstellen (das kann perl aus irgendeinem Grund nicht):

Code: Select all
my $absolute_path_of_configdir="/xampp/htdocs/mysqldumper/work/config/";


Und dann muss noch das Modul DBD::mysql installiert werden (das ist mit Abstand das schwierigste, weil es nicht einfach zu finden ist, wo man welches Repository dafür kennen muss). Dazu muss ppm gestartet werden (einfach "ppm" ausführen oder "Perl Packet Manager" unter ActivePerl im Startmanager klicken), dort unter "Edit->Preferences->Repositories" ein neues Repository angeben, nämlich dieses (ich habe es einfach "CPAN" genannt, das ist das erste Feld). Im zweiten Feld gibst Du den nachfolgenden Link ein:

Code: Select all
http://cpan.uwinnipeg.ca/PPMPackages/10xx/package.xml


Wenn ppm das synchronisiert hat, suchst Du via Suchfeld nach diesem Begriff:

Code: Select all
DBD-Mysql


Du bekommst zwei Treffer (DBD-Mysql und DBD-MysqlPP), davon mußt Du DBD-Mysql anklicken und via Menupunkt "Action" den Punkt "Installieren..." aktivieren. Dann den kleinen grünen Pfeil oben rechts anklicken um die gewünschte Aktion auszuführen.

Wenn Du alles richtig gemacht hast, funktioniert nun auch das Perl-Backup in Xampp 1.7 mit mysqldumper. Wenn ich es richtig sehe, wird das aber gar nicht zwingend benötigt, es gibt ja auch die Möglichkeit des PHP Backups.

So, mehr kann ich nicht für Dich tun, den Rest mußt Du selbst hinbekommen.
Nobbie
 
Posts: 6584
Joined: 09. March 2008 13:04

Re: Problem mit Perlscript

Postby wneudeck » 25. January 2009 18:16

Hallo,
besten Dank für die Recherche und die ausführliche Darstellung. Ich bin mir jetzt allerdings nicht sicher, ob ich das (trotz der guten Beschreibung) auf die Reihe bringe und vor allem, ob ich mir das "nur" wegen des backups mit Perl antue.
Trotzdem noch eine Frage, für den Fall, dass ich es riskiere: ich habe ja nun die oben genannte Version von perl bereits installiert in c:\xampp\perl
Schaffe ich da mit einer "zusätzlichen" Installation der von Dir genannten Version in c:\perl mir nicht Probleme mit dem bereits vorhandenen Perl? Ich kann ja "mein Perl" nicht deinstallieren, da es ja sozusagen in xampp integriert ist.
Tschüss Werner
wneudeck
 
Posts: 95
Joined: 31. July 2006 11:04

Re: Problem mit Perlscript

Postby Nobbie » 25. January 2009 21:11

wneudeck wrote:Trotzdem noch eine Frage, für den Fall, dass ich es riskiere:


Was heißt "riskieren" - das Risiko hast Du doch schon hinter Dir als Du die laufende Umgebung abgeschossen hast. Jetzt kommen nur noch Rettungsaktionen.

ich habe ja nun die oben genannte Version von perl bereits installiert in c:\xampp\perl


Umso besser - wenn es wirklich diese Version ist (was ich eigentlich auch annehme), brauchst Du nur noch die letzten Schritte durchzuführen (Repository erweitern und DBD-Mysql hinzufügen). Und natürlich im mysqldumper die genannten Dinge anpassen - aber das mußt Du so oder so.

wneudeck wrote:Schaffe ich da mit einer "zusätzlichen" Installation der von Dir genannten Version in c:\perl mir nicht Probleme mit dem bereits vorhandenen Perl? Ich kann ja "mein Perl" nicht deinstallieren, da es ja sozusagen in xampp integriert ist.


"Sozusagen" ist da gar nichts integiert, das sind keine Zauberdinge und unsichtbare magische Verknüpfungen. Du hast nun Perl (wahrscheinlich ActiveState 5.10) installiert und wahrscheinlich ist mit der Installation via Xampp Installer nur die notwendige minimale Erweiterung in httpd.conf schon geschehen, damit *.pl Dateien als CGI-Scripte erkannt werden. Das ist alles sehr transparent und sehr einfach nachvollziehbar. Mehr braucht Apache nicht und Xampp ist keine eigene Software, sondern nur eine Sammlung verschiedener Softwareprodukte.
Nobbie
 
Posts: 6584
Joined: 09. March 2008 13:04

Re: Problem mit Perlscript

Postby wneudeck » 26. January 2009 10:48

Hallo,
habe es jetzt heute endlich so durchgeführt, wie Du beschrieben hast, allerdings in einer Testumgebung (Acronis - try and decide) und es hat in der Tat funktioniert.
Habe mich aber dennoch entschlossen, es nicht zu übernehmen, und zwar aus einem Grund, den Du letztlich selbst genannt hast:
- es macht auf einem lokalen System nicht allzuviel Sinn, nur wegen dieses einzigen perlscripts diesen Aufwand zu treiben.
Ich werde daher die lokale Sicherung der Datenbank mit CobianBackup (das ich sowieso nutze) durchführen und für andere erforderliche Zwecke eben das PHP-Backup des mysqldumper nutzen.

Dennoch Dank für die Mühe, die Du Dir letztlich gemacht hast, vielleicht profitieren ja noch ein andere user von dem ganzen thread
wneudeck
 
Posts: 95
Joined: 31. July 2006 11:04


Return to Perl

Who is online

Users browsing this forum: No registered users and 1 guest