TMP-Dir?

fmschrader

Registered User
Hi Forum,

bei einer Anwendung erhalte ich ständig solche Fehler:

Warning: fopen(): open_basedir restriction in effect. File(/tmp/phpkej8Mk) is not within the allowed path(s): (/srv/www/web4/:/srv/www/htdocs/phpmyadmin/:/srv/www/confixx/html/gesperrt/) in /srv/www/web4/html/Joomla/administrator/components/com_virtuemart/classes/ps_csv.php on line 80

Das wird daran liegen, daß auf das Verzeichnis /tmp zugegriffen wird, aber
das nicht erlaubt ist.

Meiner Meinung nach sollte das aber nicht passieren, weil für dieses
Verzeichnis bereits das tmp-Verzeichnis /srv/www/web4/phptmp festgelegt
ist.

Hier der Auszug aus der confixx_vhost.conf:

****************
<VirtualHost XX.XX.XXX.XXX:80>
ServerName www.meinedomain.de
DocumentRoot /srv/www/web4/html/Joomla
SuexecUserGroup web4 ftponly
ScriptAlias /cgi-bin/ /srv/www/web4/html/cgi-bin/
php_admin_value open_basedir /srv/www/web4/:/srv/www/htdocs/phpmyadmin/:/srv/www/confixx/html/gesperrt/
php_admin_value upload_tmp_dir /srv/www/web4/phptmp/
<DIRECTORY /srv/www/web4/html/Joomla>
AllowOverride FileInfo Indexes AuthConfig
Options Indexes SymLinksIfOwnerMatch
</DIRECTORY>
</VirtualHost>
***********************************

Kann mir das jemand erklären?

Ciao

Martin
 
Last edited by a moderator:
Vielleicht wird das über deine Applikation festgelegt das er auf /tmp gehen soll? Schau dir mal deine Skripte an...
 
Ich hoffe nicht, daß das so programmiert wurde.

Das hier schreibt Sören, der Programmierer in seinem Forum:
*******************************************************
Hello,
your PHP is configured to put uploaded files into
/tmp
Let your provider change the variable
upload_tmp_dir
in the php.ini to point to a directory within the allowed paths.

e.g.
/srv/www/web4/phptmp/
*******************************************************

Klar, das steht so in der php.ini. Aber sollte dieser Wert nicht in jedem
Web individuell sein, so wie es auch eingestellt ist? Oder fragt er da
die falsche Variable ab?
Oder kann ich /tmp einfach in die "allowed Pathes" mit aufnehmen?

Ciao

Martin
 
Hallo Martin,

leg in web4/html/ eine phpinfo.php.
Wenn darin die Variable upload_tmp_dir korrekt angezeigt wird, schlag dem Programmierer die Ausgabe um die Ohren bis er Abhilfe schafft.

fmschrader said:
Oder kann ich /tmp einfach in die "allowed Pathes" mit aufnehmen?
Das wäre eine (unsichere) Alternative.

huschi.
 
Hi Huschi,

in der System-Info von Joomla, das ist wohl auch eine phpinfo,
wird der local-value korrekt angezeigt, der Master steht auf no value.
upload_tmp_dir /srv/www/web4/phptmp/ no value

Wo nimmt der denn /tmp her? Das kann ja dann nur sein, daß auf den
Master zugegriffen wird und wenn der leer ist, auf /tmp gesetzt wird.

Ich hab bei virtuemart.net noch ein Post geschrieben. Mal sehen, was
kommt.

Ciao

Martin
 
Hey Huschi,

schau mal was er schreibt:

***********************
VirtueMart doesn't look in /tmp because it wants to.
Please read about the $_FILES array.
http://de3.php.net/features.file-upload

The varaible $_FILES['tmp_name'] on your server points to the file /tmp/php6Huj63 or something similar and that's a fact! Regardless of what you have configured in the server conf file or php.ini, you have uploaded files sitting in /tmp. I guess that the vhost setting is only virtual, but uploaded files go into /tmp anyway.

Please not that VirtueMart uses no hardcoded paths or something like that.
*****************************

Was soll ich davon halten. Wofür gibt es den UPLOAD_TMP_DIR,
wenn darauf nicht zugrgriffen wird?

Ciao

Martin
 
Oben behauptet er erst er würde UPLOAD_TMP_DIR und dann nutzt er doch tmp_name. So ein Hornoxe.

Dann sieh halt zu, daß Du das tmp_name aufs selbe Verzeichnis wie UPLOAD_TMP_DIR umbiegst.

huschi.
 
Ich hab jetzt /tmp in die erlaubten Pfade mit aufgenommen. Nun gehts.

Das ist sowieso komisch. upload_tmp_dir ist immer lur lokal definiert und zwar auf /webx/phptmp/.
Aber irgendwie greift jede Applikation immer nur auf /tmp zu. Egal in welchem Web, in keinem /phptmp/ steht was drin. Und wenn ich
/tmp von 777 auf 666 zurücknehme, gibt's überall Fehler.

Ob das ein Bug in den VServern ist? Ich habe noch in keinem meiner
derzeit 16 Webs unter /phptmp/ einen Eintrag gefunden. Dabei zeigt
upload_tmp_dir immer dorthin, nie auf /tmp.

Ciao

Martin
 
Back
Top