Schrift
[thread]875[/thread]

Kommunikationsproblem Perl->PHP (Seite 2)

Leser: 1


<< |< 1 2 3 >| >> 28 Einträge, 3 Seiten
ChrisNain
 2007-01-10 17:45
#9492 #9492
User since
2007-01-10
15 Artikel
BenutzerIn
[default_avatar]
[quote=GwenDragon,10.01.2007, 16:39]Setze mal am Anfang des Skripts
$|=1;
Das schaltet das Puffern aus.[/quote]
Hab ich gemacht, ändert aber leider wieder nichts.
Hab jetzt Feierabend, Kollege will los, morgen geht das Fragen weiter. :-/

Danke schon mal
renee
 2007-01-10 18:29
#9493 #9493
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Mach das close OUT außerhalb der for-Schleife! Du solltest unbedingt Wiki:[tt]use strict[/tt] und use warnings verwenden...
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/
GwenDragon
 2007-01-10 19:03
#9494 #9494
User since
2005-01-17
14835 Artikel
Admin1
[Homepage]
user image
[quote=renee,10.01.2007, 17:29]Mach das close OUT außerhalb der for-Schleife![/quote]
Das habe ich nicht gesehen, ich mal lieber Feierabend.


@ChrisNain
Außerdem hättest du es bemerkt, wenn deine open() und close() auch eine Fehlerabfrage gehabt hätten.

Beispiel:
Code: (dl )
1
2
open(FH, "Datei") or die($!);
close(FH) or die($!);
\n\n

<!--EDIT|GwenDragon|1168448819-->
ChrisNain
 2007-01-11 10:39
#9495 #9495
User since
2007-01-10
15 Artikel
BenutzerIn
[default_avatar]
Guten Morgen :)

>Mach das close OUT außerhalb der for-Schleife!

Hab ich gemacht, hatte aber keinen Effekt, die Schleife wird ohnehin nur einmal durchlaufen.

>Du solltest unbedingt use strict und use warnings verwenden...
Hab ich drin, das ist wie gesagt nur ein Teil des Codes.

---

Code: (dl )
1
2
open(FH, "Datei") or die($!);
close(FH) or die($!);


Das hab ich jetzt auch Versucht und bekomme folgenden Fehler:

Quote
Content-type: text/html

<h1>Software error:</h1>
<pre> at cgi-bin/xml.cgi line 109.</pre>
<p>
For help, please send mail to this site's webmaster, giving this error message
and the time and date of the error.

</p>
[Thu Jan 11 09:35:18 2007] xml.cgi: at cgi-bin/xml.cgi line 109.


In Zeile 109 steht nun mit der Änderung:

Code: (dl )
close (OUT) or die($!);
\n\n

<!--EDIT|ChrisNain|1168504881-->
renee
 2007-01-11 10:45
#9496 #9496
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Welche Rechte hat der Ordner, in den geschrieben werden soll?
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/
ChrisNain
 2007-01-11 10:50
#9497 #9497
User since
2007-01-10
15 Artikel
BenutzerIn
[default_avatar]
Owner ist der Webserver, Rechte hat er nun alle, ändert nichts.
ChrisNain
 2007-01-11 11:14
#9498 #9498
User since
2007-01-10
15 Artikel
BenutzerIn
[default_avatar]
Ich hab jetzt wieder von:
Code: (dl )
close (OUT) or die($!);


auf:
Code: (dl )
close (OUT);


geändert, damit ich das Script wieder benutzen kann.
Bedeutet die Fehlermeldung das die Datei nicht korrekt geschlossen werden kann?
ChrisNain
 2007-01-11 11:28
#9499 #9499
User since
2007-01-10
15 Artikel
BenutzerIn
[default_avatar]
[quote=ChrisNain,11.01.2007, 10:14]Bedeutet die Fehlermeldung das die Datei nicht korrekt geschlossen werden kann?[/quote]
Es scheint so, ich habe in die anschließende PHP-Datei ein paar Test-Abfragen eingebaut die in eine Datei geschrieben werden.

Es kommt dabei raus dass er die Datei welche durch Perl geschrieben wird nicht finden kann.

Wie kann ich diesen Fehler beheben?

Hier nochmal den gesamte Code bis zum schließen der Datei, vielleicht hilft das:

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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#!/usr/bin/perl -w

$|=1;

use warnings;
use strict;
use CGI;
my $cgi = new CGI;
use CGI::Carp qw(fatalsToBrowser);

my $PASSPFAD = "/var/www/xml/response.xml";

my @Feldnamen = $cgi->param();
my $response = "nonInputStreamError";

if(@Feldnamen)
{
open(OUT,">$PASSPFAD") or die($!);

foreach my $Feld (@Feldnamen) {
print OUT $Feld;
print OUT " = ";
print OUT $cgi->param($Feld);
# Adresse prüfen
if(index(lc($cgi->param($Feld)), "checkaddress") >= 0)
{
$response = "checkAddress";
}
# Benutzer erstellen
elsif(index(lc($cgi->param($Feld)), "createsubscriber") >= 0)
{
$response = "createSubscriber";
}
# Benutzer anzeigen
elsif(index(lc($cgi->param($Feld)), "retrievesubscriber") >= 0)
{
$response = "retrieveSubscriber";
}
# Benutzer löschen (nur wenn keine Nummern)
elsif(index(lc($cgi->param($Feld)), "deletesubscriber") >= 0)
{
$response = "deleteSubscriber";
}
# Benutzerort ändern
elsif(index(lc($cgi->param($Feld)), "movesubscriber") >= 0)
{
$response = "moveSubscriber";
}
# Benutzer verändern
elsif(index(lc($cgi->param($Feld)), "updatesubscriber") >= 0)
{
$response = "updateSubscriber";
}
# Eine Nummer einrichten
elsif(index(lc($cgi->param($Feld)), "getnumber") >= 0)
{
$response = "getNumber";
}
# Eine Nummer sperren
elsif(index(lc($cgi->param($Feld)), "updatenumber") >= 0)
{
$response = "updateNumber";
}
# Mehrere (10 max.) Nummern einrichten
elsif(index(lc($cgi->param($Feld)), "assignnumbers") >= 0)
{
$response = "assignNumbers";
}
# Mehrere (10 max.) Nummern sperren
elsif(index(lc($cgi->param($Feld)), "returnnumbers") >= 0)
{
$response = "returnNumbers";
}
# Nummern anzeigen
elsif(index(lc($cgi->param($Feld)), "retrievenumber") >= 0)
{
$response = "retrieveNumber";
}
# Bereits bestehende Nummer im System zuordnen
elsif(index(lc($cgi->param($Feld)), "portnumbertocarrier") >= 0)
{
$response = "portNumberToCarrier";
}
# Fehler
else
{
$response = "error";
}
}
}
close(OUT);
\n\n

<!--EDIT|ChrisNain|1168508074-->
renee
 2007-01-11 11:32
#9500 #9500
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wie sieht Dein Perl-Code im Moment aus (der zum Schreiben der Datei)?
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/
ChrisNain
 2007-01-11 11:37
#9501 #9501
User since
2007-01-10
15 Artikel
BenutzerIn
[default_avatar]
Habs nochmal komplett gepostet.
Die if-Abfragen suchen nach ner bestimmten Zeichenfolge zum Identifizieren der Art der XML-Datei. Das brauch ich dann zur Auswertung, aber eventuell ist da ja ein Syntaxfehler der dazu führt das die Datei nicht geschlossen wird.
<< |< 1 2 3 >| >> 28 Einträge, 3 Seiten



View all threads created 2007-01-10 16:18.