Ordner für temporäre Dateien unter Windows

Alles, was Perl betrifft, kann hier besprochen werden.

Ordner für temporäre Dateien unter Windows

Postby Mensler » 08. December 2004 22:47

Hi,
kann man für Perl unter Windows (ich verwende ActivePerl 5.8.4) festlegen, in welches Verzeichnis die temporären Dateien geschrieben werden?
Ich habe den W3C-Validator installiert und Perl möchte temporäre Dateien im Windows-Verzeichnis ablegen, was nicht funktioniert, weil ich nicht mit Administrator-Rechten arbeite.
Gibt es eine Möglichkeit, dem entgegenzuwirken?

Schöne Grüße,
Mensler
Mensler
 
Posts: 12
Joined: 27. October 2004 22:57

Postby deepsurfer » 17. December 2004 09:59

hast du mal einen auszug aus der LOGdatei , denn wenn du schon PERL als System-USER laufen lässt, dann sollte auch dein eigenes SystemUser TMP verzeichniss benutzt werden, da perl den Administrativen Bereich nicht kennen kann.

chirio
Deep
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby Mensler » 17. December 2004 19:44

Servus,
gerade gestern habe ich mich eingehend mit dem Script beschäftigt :-)

Die entsprechende Fehlermeldung im Logfile ist
[Fri Dec 17 00:07:26 2004] [error] [client 127.0.0.1] [Fri Dec 17 00:07:26 2004] check: Can't use an undefined value as a symbol reference at C:/Tools/xampp/validator/httpd/cgi-bin/check line 702., referer: http://validator.localhost/

Zeile 702 im check-Script lautet

print $spin $_, "\n";

und da liegt der Hund begraben, denn davor werden drei Filehandler so initialisiert:

my $spin = IO::File->new_tmpfile;

Die Funktion new_tmpfile versucht, diese drei Dateien im Windows-Verzeichnis anzulegen (verrät mir FileMon), obwohl die path-Variable TEMP für den Benutzer korrekterweise auf sein Benutzerverzeichnis verweist.
Mensler
 
Posts: 12
Joined: 27. October 2004 22:57

Postby deepsurfer » 20. December 2004 07:58

Hast du von XAMPP das PERL-Addon mit eingebunden ????

Denn das IO::File ist eine PERL-Bibliothek....

Hab jetzt keine $ENV Tabelle der XAMPP-Perl-Module vorliegen um nachzuschauen.

chirio
Deep
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby Mensler » 20. December 2004 11:12

Moin,
nein, ich verwende ActivePerl 5.8...
Mensler
 
Posts: 12
Joined: 27. October 2004 22:57

Postby deepsurfer » 20. December 2004 12:07

hach...war mal wieder zu voreilig... :lol:


Hier ein Installhinweis von ActivePerl !!!!

Administrative Rights: If you are installing Perl on behalf of other users, we recommend running the installer while logged in with an account that has administrative privileges (Windows NT/2000/XP/2003).
Running without administrative privileges results in the following limitations: <<-- das ist dein Hinweis

* The PerlScript feature will be unavailable. <<-- wenn man nur wüste welche features das Perl hat :)

* ActivePerl applications will not write messages to the event log. <<-- wäre zu verschmerzen

* Environment variables are set only for the current user. <<-- ist vollkommen einleuchtend, damit kein ander User auf dein Perl zugreifen kann.Hier sollte auch die TMP Variabel gemeint sein.

* The option to create a file association for Perl files is disabled. <<-- hhm...dieser satz stört mich etwas

* Registry entries are created under HKEY_CURRENT_USER and not under HKEY_LOCAL_MACHINE. <<-- in deer REGEDIT solltest du mal nachschauen, da werden Umgebungsvariablen festgelegt.


User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby Mensler » 21. December 2004 00:00

deepsurfer wrote:hach...war mal wieder zu voreilig... :lol:


Hier ein Installhinweis von ActivePerl !!!!


Danke fürs Raussuchen, ich bin nicht auf die Idee gekommen, bei ActiveState selbst zu gucken :-)

Administrative Rights: If you are installing Perl on behalf of other users, we recommend running the installer while logged in with an account that has administrative privileges (Windows NT/2000/XP/2003).
Running without administrative privileges results in the following limitations: <<-- das ist dein Hinweis


Wobei ich mir hier nicht sicher bin, ob hier nur die Installation oder auch der Aufruf des Interpreters gemeint ist...

* The PerlScript feature will be unavailable. <<-- wenn man nur wüste welche features das Perl hat :)


Hmm, PerlScript spielt in diesem Fall glaube ich keine Rolle.

* ActivePerl applications will not write messages to the event log. <<-- wäre zu verschmerzen


Richtig, das stört mich nicht so...

* Environment variables are set only for the current user. <<-- ist vollkommen einleuchtend, damit kein ander User auf dein Perl zugreifen kann.Hier sollte auch die TMP Variabel gemeint sein.


Ich sags wies ist: keine Ahnung.

* The option to create a file association for Perl files is disabled. <<-- hhm...dieser satz stört mich etwas


Ich denke, hier ist nur die Verknüpfung von *.pl-Dateien mit dem Perl-Interpreter gemeint.

* Registry entries are created under HKEY_CURRENT_USER and not under HKEY_LOCAL_MACHINE. <<-- in deer REGEDIT solltest du mal nachschauen, da werden Umgebungsvariablen festgelegt.


Das werden wohl keine anderen sein, als die, die ich unter Systemsteuerung, System, Erweitert, Umgebungsvariablen begutachten kann, und die sind korrekt gesetzt.

Sieht so aus, als müsste ich XAMPP als Admin starten, damit das Script läuft. Ich hab schon versucht, die (den?) Shebang mit runas umzuschreiben. Das gibt aber, je nach Ausstattung mit Anführungszeichen, Fehler wie

Premature end of script headers: check, referer: http://validator.localhost/

oder

(OS 2)Das System kann die angegebene Datei nicht finden. : couldn't create child process: 720002: check, referer: http://validator.localhost/
(OS 2)Das System kann die angegebene Datei nicht finden. : couldn't spawn child process: C:/Tools/xampp/validator/httpd/cgi-bin/check, referer: http://validator.localhost/

oder

(OS 123)Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch. : couldn't create child process: 720123: check, referer: http://validator.localhost/
(OS 123)Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch. : couldn't spawn child process: C:/Tools/xampp/validator/httpd/cgi-bin/check, referer: http://validator.localhost/
Mensler
 
Posts: 12
Joined: 27. October 2004 22:57

Postby deepsurfer » 21. December 2004 08:16

Vermutung:
Hast du den Namen validator.localhost auch in deiner HOSTS Datei eingetragen. Denn solche Fehlermeldungen erscheinen auch wenn der Domain-Name vom Scripting nicht aufgelöst werden kann.

- Im grunde solltest du als Admin den XAMPP installieren, dazu ActivePerl auch als Admin. (laut deiner Äusserung hast du ja die möglichkeit)
- Den Validator auch als Admin in XAMPP einbinden.
- FileZilla mit starten lassen und User einrichten.

Den XAMPP als Service starten lassen, dann startet er immer, egal mit welchem Systemnamen du arbeitest.

Mit einen FTPprogramm deine Pages hochladen.

Meines erachtens (nicht getestet) sollte es so funtkionieren, da dann der Validator im Admin-Prozess oberhalb des Userlogin arbeiten kann.

chirio
Deep


PS:

Schau mal in der AUTOEXEC.BAT nach, damals hatte ActivePerl bei mir seine Umgebungsvariablen dort abgelegt.

Ja.... die Autoexec.bat kann man auch bei XP/2000 etc. benutzen um Variabeln zu deklarieren.
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby Mensler » 23. December 2004 14:09

Hi,
sorry, dass ich mich erst jetzt wieder melde...

deepsurfer wrote:Vermutung:
Hast du den Namen validator.localhost auch in deiner HOSTS Datei eingetragen. Denn solche Fehlermeldungen erscheinen auch wenn der Domain-Name vom Scripting nicht aufgelöst werden kann.


Ja, das ist alles eingetragen, die Namensauflösung funktioniert ja auch korrekt.

- Im grunde solltest du als Admin den XAMPP installieren, dazu ActivePerl auch als Admin. (laut deiner Äusserung hast du ja die möglichkeit)
- Den Validator auch als Admin in XAMPP einbinden.
- FileZilla mit starten lassen und User einrichten.


Ich hab alles als Admin installiert, da funktionierte auch alles, bin erst seit kurzem nur noch als Benutzer in Windows unterwegs.
Aber Filezilla brauche ich gar nicht, ich lade ja keine Seiten hier hoch. Ich habe einfach meine lokalen Arbeitsverzeichnisse als VirtualHost eingerichtet. Das ist auch der Grund, wieso ich eine lokale Installation von XAMPP verwende, sonst könnte ich ja alles gleich auf den Webserver hochladen :-)

Den XAMPP als Service starten lassen, dann startet er immer, egal mit welchem Systemnamen du arbeitest.


Das könnte ich mal probieren, allerdings ressourcenbedingt eher ungern.

Mit einen FTPprogramm deine Pages hochladen.


Das ist wie gesagt unnötig.

Meines erachtens (nicht getestet) sollte es so funtkionieren, da dann der Validator im Admin-Prozess oberhalb des Userlogin arbeiten kann.


Jo, ich werds probieren, danke für den Tipp.

PS:

Schau mal in der AUTOEXEC.BAT nach, damals hatte ActivePerl bei mir seine Umgebungsvariablen dort abgelegt.

Ja.... die Autoexec.bat kann man auch bei XP/2000 etc. benutzen um Variabeln zu deklarieren.


Das wusste ich *g
Aber die Datei ist leer, wie sichs gehört :-)

Schöne Feiertage,
Mensler
Mensler
 
Posts: 12
Joined: 27. October 2004 22:57

Postby deepsurfer » 23. December 2004 14:38

aha...

Zitat: von DeepSurfer
Den XAMPP als Service starten lassen, dann startet er immer, egal mit welchem Systemnamen du arbeitest.


Das könnte ich mal probieren, allerdings ressourcenbedingt eher ungern.


Wenn Du aber dann als User den Apachen startest, so wird der apache auch in den User-Prozess eingebunden, dann würde meines erachtens ein Teil des Apachen nicht mehr zur verfügung stehen (validator), da ja alle systemparameter für den User gilt nicht mehr für den admin.

So resorucenfressend ist Xampp auch nicht :wink: , merkt man eigentlich gar nicht das er da ist.

chirio
Deep
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby Mensler » 23. December 2004 15:23

deepsurfer wrote:Wenn Du aber dann als User den Apachen startest, so wird der apache auch in den User-Prozess eingebunden, dann würde meines erachtens ein Teil des Apachen nicht mehr zur verfügung stehen (validator), da ja alle systemparameter für den User gilt nicht mehr für den admin.

So resorucenfressend ist Xampp auch nicht :wink: , merkt man eigentlich gar nicht das er da ist.


CPU-Ressourcen nicht, das stimmt, aber Speicher... Naja, ich wollte sowieso mal aufrüsten *g
Also vielen Dank, ich lass das ganze jetzt als Service laufen und es funktioniert wunderbar.
Mensler
 
Posts: 12
Joined: 27. October 2004 22:57

Postby deepsurfer » 23. December 2004 16:30

also die beiden 21K = 42K sind nicht der rede werd.
Da sind drei geöffnette Explorer fenster viel speicher hungriger :lol:

have fun and funny xmas
Deep
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby Mensler » 23. December 2004 16:45

Bei mir verbrauchten die beiden Apaches und MySQL zusammen rund 20MB nach dem Start. Mittlerweile ist das auf etwa 9MB zurückgegangen...
Mensler
 
Posts: 12
Joined: 27. October 2004 22:57


Return to Perl

Who is online

Users browsing this forum: No registered users and 2 guests