Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]946[/thread]

GD, CGI und DBI verursachen miteinander Fehler 500



<< >> 6 Einträge, 1 Seite
stefank86
 2007-06-23 11:31
#206 #206
User since
2003-10-13
27 Artikel
BenutzerIn
[default_avatar]
Servus,

ich stehe vor einem merkwürdigen Problem, dass nur bei Hosteurope entsteht - auf einem anderen Server kann ich es nicht nachvollziehen:

Folgendes Skript versursacht einen Fehler 500 mit der Meldung "Premature end of script headers".
Kommentiere ich einen der Modlaufrufe von DBI, CGI oder GD aus, wird der Fehler nicht erzeugt.

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/perl     -w

use CGI::Carp qw(fatalsToBrowser warningsToBrowser);
use warnings;
use strict;
use DBI;
use CGI;
use GD;

print "Content-Type: text/html\n\n";
warningsToBrowser(1);

my $bild = newFromJpeg GD::Image("../presse/ak_presseschau_TEST.jpg");



Hat hier jemand eine Idee, woran das liegen könnte?

Gruß
Stefan
GwenDragon
 2007-06-23 12:27
#207 #207
User since
2005-01-17
14748 Artikel
Admin1
[Homepage]
user image
Gib doch bitte den Content-Type-Header wie folgt aus (wenn du schon das Modul CGI verwendest):
Code: (dl )
print CGI::Header('text/html');


Ansonsten könnte ein
Code: (dl )
 $| = 1; 
nach den uses helfen.
renee
 2007-06-23 12:28
#208 #208
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Hast Du Zugriff auf's errorlog?

Hast Du mal nach und nach die verschiedenen uses auskommentiert um zu schauen, was den Fehler verursacht?

Lass Dir mal die Versionen der Module ausgeben...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
pq
 2007-06-23 15:00
#209 #209
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
siehe Wiki:Server Error 500
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Strat
 2007-06-24 12:38
#210 #210
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
du verwendest -w und use warnings; ich schlage vor, nur use warnings zu verwenden:
Code: (dl )
1
2
3
#! /usr/bin/perl
use strict;
use warnings;

weil -w global alle Warnings aktiviert. Vielleicht liegts daran.

Die umgekehrte Schreibweise:
Code: (dl )
my $bild = newFromJpeg GD::Image("../presse/ak_presseschau_TEST.jpg");

ist unsicher. wenn es z.B. im aktuellen Namensraum eine Sub namens newFromJpeg gibt, gibt's einen Fehler.
Code: (dl )
my $bild = GD::Image->newFromJpeg(" ../presse/ak_presseschau_TEST.jpg" );

ist hingegen sicher.
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Strat
 2007-06-24 12:41
#211 #211
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
was auch noch eine Ursache sein koennte ist:
Code: (dl )
" ../presse/ak_presseschau_TEST.jpg"

je nach webserverkonfiguration ist das programmverzeichnis ./ oder irgendwas anderes. Wenn du dein bild relativ zum ausgefuehrten Script haben willst, ist das Standardmodul CPAN:FindBin dein Freund, dessen Variable $FindBin::Bin den Pfad zum ausgefuehrten Script enthaelt:
Code: (dl )
1
2
use FindBin;
my $imageFile = "$FindBin::Bin/../presse/ak_presseschau_TEST.jpg";


aber eine Fehlerabfrage nach dem newfromjpeg sollte trotzdem pflicht sein...\n\n

<!--EDIT|Strat|1182674556-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
<< >> 6 Einträge, 1 Seite



View all threads created 2007-06-23 11:31.