Schrift
[thread]11414[/thread]

Temporäres Verzeichnis ändern

Leser: 1


<< |< 1 2 >| >> 12 Einträge, 2 Seiten
roooot
 2008-03-05 12:48
#106697 #106697
User since
2008-03-03
276 Artikel
BenutzerIn
[default_avatar]
Hallo.

Ich habe einen Fileupload in Perl erstellt. Dieser ging bis vor einiger Zeit gut. Nun hat mein Provider das Verzeichnis fürs TMPFILE geändert. Ich bekomme nun immer folgende Meldung:
Code: (dl )
[Wed Mar 05 11:43:13 2008] [error] [client ***.***.***.***] [Wed Mar  5 11:43:08 2008] upload.cgi: CGI open of tmpfile: Permission denied

Auf meine Mail gab es nur als Antwort das neue TMP Verzeichnis für mich und ich solle meine Scripte anpassen.

Deshalb frage ich, wie kann ich mein Script anpassen. Habe schon versucht
Code (perl): (dl )
$TempFile::TMPDIRECTORY = "/is/htdocs/user_tmp/USRNAME/";
in mein Script zu schrieben, allerdings hat mir das ncihts gebracht.
Kann mir einer helfen?

Danke!
Viele Grüße :)
renee
 2008-03-05 12:58
#106701 #106701
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Hat das Verzeichnis die Rechte 777?
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/
roooot
 2008-03-05 13:14
#106703 #106703
User since
2008-03-03
276 Artikel
BenutzerIn
[default_avatar]
Ich kann direkt ja nicht nachschauen aber wenn ich soetwas versuche:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
#!/usr/bin/perl -w
use strict;

        
print "Content-Type:text/html\n\n";

open LF, ">/is/htdocs/user_tmp/USRNAME/test.txt" || print "Kann auf TMP nicht zugreifen, weil $!";
close LF;

print "fertig";


Dann funktioniert es, sprich es gibt keinen Fehler aus.
Viele Grüße :)
renee
 2008-03-05 13:40
#106705 #106705
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
roooot+2008-03-05 12:14:15--
Ich kann direkt ja nicht nachschauen aber wenn ich soetwas versuche:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
#!/usr/bin/perl -w
use strict;

        
print "Content-Type:text/html\n\n";

open LF, ">/is/htdocs/user_tmp/USRNAME/test.txt" || print "Kann auf TMP nicht zugreifen, weil $!";
close LF;

print "fertig";


Dann funktioniert es, sprich es gibt keinen Fehler aus.


Da ist ein Fehler drin! das || hat eine höhere Wertigkeit als open.

Mach mal
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
#!/usr/bin/perl -w
use strict;

        
print "Content-Type:text/html\n\n";

open LF, ">/is/htdocs/user_tmp/USRNAME/test.txt" or print "Kann auf TMP nicht zugreifen, weil $!";
close LF;

print "fertig";
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/
renee
 2008-03-05 13:42
#106706 #106706
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Mit einem FTP-Programm kannst Du normalerweise schauen, welche Rechte der Ordner hat...
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/
roooot
 2008-03-05 14:06
#106713 #106713
User since
2008-03-03
276 Artikel
BenutzerIn
[default_avatar]
Also es funktioniert auch wenn ich or benutze. Ich kann in mein TMP Verzeichnis schrieben.

Nunja ich kann wenn ich mich mit dem FTP Programm einlogge nicht den Pfad ändern, denn ich werde automatisch in /is/htdocs/USRNAME/ umgeleitet, sprich auf andere Verzeichnisse habe ich keinen Zugriff per FTP. Mein Hoster hat in einer Email angekündigt, dass dem /tmp Verzeichnis (das fürher für alle Kunden das TMP Verzeichnis war) alle schreibrechte entzogen wurden und im Gegenzug jeder User sein eigenes privates TMPDIR bekommen hat. Allerdings hat CGI.pm das irgendwie nicht mitbekommen. Und ich möchte nun oder muss nun manuell auf mein privates TMPDIR umbiegen. Nur wie?
Viele Grüße :)
roooot
 2008-03-05 14:16
#106714 #106714
User since
2008-03-03
276 Artikel
BenutzerIn
[default_avatar]
Ich habe schon versucht über
Code: (dl )
$TempFile::TMPDIRECTORY = "/is/htdocs/user_tmp/USRNAME/";
das Verzeichnis anzugeben, aber das ist ihm irgendwie egal.


Dann erscheint folgende Fehlermeldung:
Code: (dl )
Name "TempFile::TMPDIRECTORY" used only once: possible typo at /is/htdocs/USRNAME/www/ordner/cgi-bin/upload.cgi line 3.
Viele Grüße :)
roooot
 2008-03-05 14:20
#106715 #106715
User since
2008-03-03
276 Artikel
BenutzerIn
[default_avatar]
Aha ok.. die Lösung war nicht $TempFile::TMPDIRECTORY sondern $CGITempFile::TMPDIRECTORY
Viele Grüße :)
Gast Gast
 2008-03-05 14:43
#106717 #106717
CGI verwendet
Code: (dl )
1
2
3
4
5
6
@TEMP=("${SL}usr${SL}tmp","${SL}var${SL}tmp",
"C:${SL}temp","${SL}tmp","${SL}temp",
"${vol}${SL}Temporary Items",
"${SL}WWW_ROOT", "${SL}SYS\$SCRATCH",
"C:${SL}system${SL}temp");
unshift(@TEMP,$ENV{'TMPDIR'}) if defined $ENV{'TMPDIR'};

Es sei denn die Umgebungsvariable TMPDIR ist definiert.



Wie machst du denn deinen Upload?
Code wäre sinnvoll mal zu zeigen.
renee
 2008-03-05 15:05
#106719 #106719
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
roooot+2008-03-05 13:06:09--
[...] Allerdings hat CGI.pm das irgendwie nicht mitbekommen. Und ich möchte nun oder muss nun manuell auf mein privates TMPDIR umbiegen. Nur wie?


Dass es um CGI.pm geht, wäre schon eine ganz hilfreiche Information gewesen...
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/
<< |< 1 2 >| >> 12 Einträge, 2 Seiten



View all threads created 2008-03-05 12:48.