Dateiupload per PHP unter FreeBSD 6.4

Delta

Well-Known Member
Hallo,

ich habe ein PHP Script auf einem Server laufen welches unter anderem Bilderupload im Browser ermöglicht. Also ein ganz normales Frontend, durchsuchen und hochladen mit PHP realisiert.

Allerdings funktioniert der Upload nicht. Ich habs mal zu Testzwecken auf einem CentOS 5 Server installiert da funktioniert es instant.

Kann es an einer standardmässig aktivierten Sicherheitseinstellung unter FreeBSD liegen?

Habe mal das hier getestet:

Code:
<?php

echo "Uploads zugelassen: " . get_cfg_var("file_uploads") . "<br>";
echo "Max. Upload Größe (Dateigröße der hochzuladenen Datei): " . get_cfg_var("upload_max_filesize") . "<br>";
echo "Max. Script Speicher (Speicher den ein Script benutzen darf): " . get_cfg_var("memory_limit") . "<br>";
echo "Max. \"post\" Daten (Menge an Daten die per \"post\" übermittelt werden): " . get_cfg_var("post_max_size") . "<br>";
echo "Max. Laufzeit (Zeit des Ausführens eines Scripts): " . get_cfg_var("max_execution_time") . " Sek";

?>

Mit folgendem Ergebnis:

Uploads zugelassen: 1
Max. Upload Größe (Dateigröße der hochzuladenen Datei): 2M
Max. Script Speicher (Speicher den ein Script benutzen darf): 128M
Max. "post" Daten (Menge an Daten die per "post"Übermittelt werden): 8M
Max. Laufzeit (Zeit des Ausführens eines Scripts): 30 Sek

Ist bei beiden Servern weitgehend identisch. (Lediglich der Script Speicher ist bei Cent auf 32M gesetzt, egal)

HTTP Uploads sind also gestattet. Alle Rechte für das Zielverzeichnis sind ausreichend gesetzt. Script ist auf beiden Servern identisch. Und an genau diesem Punkt bin ich mit meinem Latein vorübergehend am Ende.

Weiss vielleicht jemand Rat?

Schönes WE euch.

Grüsse Delta
 
Mmh, wenn Du schon die Rechte des tmp-Ordners geprüft hast, dann würde ich als Nächstes eine Datei mit der Fkt. phpinfo() auf beiden System ablegen und schauen, wo Unterschiede sind.

Und Du kommst wirklich nicht an die Grenzen der max. Upload und Post-Größen?

c.
 
Wie sieht denn das PHP Skript zum Upload aus?
Mit diesem HowTo klappt es bei mir unter FreeBSD6.4 und 8.0 ohne Probleme.
 
Hallo,

upload_tmp_dir ist nicht gesetzt und auskommentiert.

Damit müsste es doch /tmp sein und passen?

Ans Grössenlimit komme ich auf keinen Fall.

Bei phpinfo() finde ich keine relevanten Unterschiede. Vermute ich jedenfalls. Welche Teile wären denn für dieses Problem entscheidend?

@dark_angel: Ich steh heut irgendwie ein bischen auf dem Schlauch. Welches HowTo meinst du?

Grüsse
 
@Delta: Der Link wurde scheinbar rausgenommen. Google mal nach 'php upload' und klicke dann auf den ersten Treffer (die Site ist php-einfach.de).
 
Achso, hatte mich schon gewundert.

Das Tutorial da beschreibt ja die PHP Seite des Ganzen. Das ist aber nicht das Problem. Wie gesagt, auf dem anderen Server rennts ja.

Ist das denn so in Ordnung mit upload_tmp_dir wie von mir beschrieben?

Langsam fuchst mich das ein bischen. :)
 
Also wir haben keinen Link rauszensiert. :)
Hab ich ja net behauptet. ;)
Kann sein, dass ich auch den Link net gescheit reinkopiert habe o.ä.
Hauptsach Delta bekommt sein Problem gelöst. :)


@Delta: Eigentlich schon. Evtl. setze mal die upload_tmp_dir auf ein Testverzeichnis mit 777 Rechten. Dann kann man zumindest mal ausschließen, dass es am upload_dir liegt.
 
Hoi,

setz mal des upload temp so das der php parser ausführende User die nötigen Rechte hats. Danach schaust das der Pfad für das Upload Directory in des Du des File moven tust bärig au vorne mit / anfängt und hinten koin / hat. (z.B. /usr/local/www/apache22/data/uploads ).

Gruß Bummibär
 
Zurück
Oben