Thread read on filehandle failed (7 answers)
Opened by Heromaster at 2005-08-18 20:42

Heromaster
 2005-08-18 20:42
#31154 #31154
User since
2003-08-05
220 Artikel
BenutzerIn
[default_avatar]
Wenn ich XML::Simple ein Apache-Filehandle übergebe, meldet mir XML::LibXML das er die Objektmethode read im Apache::File Modul nicht finden kann.
Ok, ich mir gedacht, möglicherweise brauche ich nur ein Update von LibXML oder Apache::File, jedoch meldet mir das CPAN-Modul, das beide up-to-date sind.
Komischerweise funktioniert das unter Windows, jedoch nicht auf meinem Debian.

Das ist der relevante Code
Code: (dl )
1
2
3
4
5
6
7
8
9
my $FileHandle = Apache::File->new();
my $XMLParser = XML::Simple->new();

{
$FileHandle->open( "$ENV{DOCUMENT_ROOT}/config/database.xml" );
my $XML = $XMLParser->XMLin( $FileHandle );
my $dsn = "DBI:mysql:database=$XML->{database};host=$XML->{host};port=$XML->{port}";
$dbh = DBI->connect( $dsn, $XML->{user}, $XML->{password} );
}


Und das bekomme ich als Fehlermeldung:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
read on filehandle failed: Can't locate object method "read" via package "Apache::File" at /usr/lib/perl5/XML/LibXML.pm line 399.

Stack:
[/usr/lib/perl5/XML/LibXML.pm:399]
[/usr/lib/perl5/XML/LibXML/SAX.pm:63]
[/usr/lib/perl5/XML/LibXML/SAX.pm:30]
[/usr/share/perl5/XML/SAX/Base.pm:2294]
[/usr/share/perl5/XML/SAX/Base.pm:2322]
[/usr/share/perl5/XML/Simple.pm:291]
[/usr/share/perl5/XML/Simple.pm:221]
[/var/www/syshandler:22]
Derjenige, der zwei Hasen jagt, lässt einen zurück und verliert den anderen.

View full thread read on filehandle failed