Kann keine Dateien mit PHP hochladen - woran kann es liegen?

Irgendwelche Probleme mit XAMPP für Mac OS X? Dann ist hier genau der richtige Ort um nachzufragen.

Kann keine Dateien mit PHP hochladen - woran kann es liegen?

Postby Adagio » 08. January 2008 01:17

Ich habe das aktuelle XAMPP 0.7.1 unter MacOS X (Leo) installiert und alles läuft auch tadellos - inkl. virtueller Hosts.

Was allerdings nicht funktioniert, sind z.B. Funktionen wie das hochladen oder löschen von Dateien.

Sessions funktionieren hingegen tadellos.

Mein erster Gedanke war, dass ggfs. die Verzeichnis/Besitzerrechte nicht passen, so dass PHP diese Aktionen nicht machen darf.

Allerdings - als welcher User läuft Apache, bzw. PHP? Wieso funktionieren Sessons ohne Probleme, ein Upload (wofür das temporäre Verzeichnis ja auch genutzt wird) aber nicht? Wieso kann ich keine Dateien löschen lassen?

Ideen und Ratschläge? Und Windoof war das "einfacher", dank fehlender Benutzer/Dateirechte :D ;)
Last edited by Adagio on 03. September 2008 16:29, edited 1 time in total.
Adagio
 
Posts: 23
Joined: 09. February 2003 16:05
Location: Bärlin :o)

Postby Scory » 08. January 2008 11:37

>als welcher User läuft Apache, bzw. PHP?

Das steht in httpd.conf - suche nach "User" und nach "Group" - das sind die Werte, mit denen Apache läuft.
Scory
 

Postby kleinweby » 08. January 2008 16:52

huhu,

also der Apache läuft als nobody.

kleinweby
User avatar
kleinweby
AF Moderator
 
Posts: 393
Joined: 03. August 2005 19:52
Location: Magdeburg
Operating System: Mac OS X 10.7

Postby Adagio » 03. September 2008 16:28

Lang ist es her, das Problem ist noch immer da ... ich kann keinerlei Dateien über PHP hochladen auf meinem lokalen XAMPP (jetzt 0.7.2).

Meine eigenen Skripte, sowie auch phpMyAdmin sagen nichts weiter als dass keine Datei hochgeladen wurde, bzw. keine angegegeben.

Online funktioniert aber alles tadellos ...
Adagio
 
Posts: 23
Joined: 09. February 2003 16:05
Location: Bärlin :o)

Postby thokl » 24. November 2008 23:43

Also, ich weiß nicht, ob Dich das nun beruhigt, aber bei mir geht es leider auch nicht. Hab mittlerweile alles versucht, Rechte nachgesehen, geändert, was weiß ich, aber es geht einfach nicht. Keine Ahnung, woran das wohl liegen mag...

Hab die aktuelle Version 0.7.4 installiert. Irgendwer muss das doch mal gestestet haben, oder?

Gruß, Thomas
thokl
 
Posts: 3
Joined: 24. November 2008 23:40

Postby thokl » 24. November 2008 23:49

Die Lösung gleich eine Minute nach meiner Antwort.

In der php.ini den Wert für das temporäre Verzeichnis einstellen:

Code: Select all
 474 ;;;;;;;;;;;;;;;;
 475 ; File Uploads ;
 476 ;;;;;;;;;;;;;;;;
 477
 478 ; Whether to allow HTTP file uploads.
 479 file_uploads = On
 480
 481 ; Temporary directory for HTTP uploaded files (will use system default if not
 482 ; specified).
 483 upload_tmp_dir = /tmp
 484
 485 ; Maximum allowed size for uploaded files.
 486 upload_max_filesize = 2M


Und siehe da: es geht auf wundersame Weise. ;) Wie es scheint kann der Apache Server bzw. der User, unter dem der Server läuft, auf Mac OSX das temporäre Verzeichnis nicht automatisch bestimmen.

Gruß, Thomas
thokl
 
Posts: 3
Joined: 24. November 2008 23:40

Postby Adagio » 25. November 2008 09:00

Danke, du bist der Held des Tages ;)
Adagio
 
Posts: 23
Joined: 09. February 2003 16:05
Location: Bärlin :o)

Postby thokl » 25. November 2008 21:02

:mrgreen: Danke ... *verneig*
thokl
 
Posts: 3
Joined: 24. November 2008 23:40

Re: Kann keine Dateien mit PHP hochladen - woran kann es liegen?

Postby Gehm » 25. February 2009 16:05

Hi,

ich habe das selbe Problem,
in zwischen habe ich heraus gefunden das mein php keine rechte hat zum schreiben in die von mir angelegten Ordner, :-( und ich kann auch über php keine neuen Ordner erstellen :-(

was muss ich denn machen damit mein php die rechte bekommt ?

ich habe einen MAC OS X und XAMPP installiert.

kann mir da jemand helfen Bitte. Bitte.
User avatar
Gehm
 
Posts: 39
Joined: 11. March 2005 08:09

Re: Kann keine Dateien mit PHP hochladen - woran kann es liegen?

Postby Wiedmann » 25. February 2009 16:49

das mein php keine rechte hat zum schreiben in die von mir angelegten Ordner,

Das wäre möglich. Was hat dein Order denn für Rechte?


und ich kann auch über php keine neuen Ordner erstellen

Wo willst du denn einen Order erstellen, und wie sieht die Fehlermeldung dazu aus?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: Kann keine Dateien mit PHP hochladen - woran kann es liegen?

Postby Gehm » 25. February 2009 17:48

Wiedmann wrote:
das mein php keine rechte hat zum schreiben in die von mir angelegten Ordner,

Das wäre möglich. Was hat dein Order denn für Rechte?
Das ist eine Gute Frage wenn du mir sagst wie ich das auf einem MAC heraus finde mache ich das mal. :-)

Wiedmann wrote:
und ich kann auch über php keine neuen Ordner erstellen

Wo willst du denn einen Order erstellen, und wie sieht die Fehlermeldung dazu aus?


ich habe versucht meinen Zielordner für die Uploade Datei zu erstellen das mache ich so.
Code: Select all
<? if (mkdir('test_MG', 0777))
    {echo "<p>Ordner wurde erstellt.</p>"; ?>}


welchen Fehler bekomme ich denn dabei.
Warning: mkdir() [function.mkdir]: Permission denied in /Applications/xampp/xamppfiles/htdocs/address/include/installer.php on line 23


das Heist ja das mein Script "PHP" keine rechte hat den Ordner zu erstellen, wenn ich es nicht mal schaffe das ich einen Ordner erstellen kann Schafe ich es auch nicht eine Datei zu speichern über php :-( daher meine Frage wie kann ich PHP die nötigen Rechte zuweisen ?
User avatar
Gehm
 
Posts: 39
Joined: 11. March 2005 08:09

Re: Kann keine Dateien mit PHP hochladen - woran kann es liegen?

Postby Wiedmann » 25. February 2009 18:09

wenn ich es nicht mal schaffe das ich einen Ordner erstellen kann

Mag jetzt zwar eine dumme Frage sein... aber woher kommt dann der Order "./address/include" wo die Datei drin ist die du ausführst, wenn du keine Order erstellen kannst?

wie kann ich PHP die nötigen Rechte zuweisen ?

Im Prinzip ist es so, dass Apache/PHP als IMHO User "nobody" ausgeführt wird. Die Dateien/Order in "htdocs" sollten also diesem gehören. Beim Upload über FTP sollte das automatisch richtig sein.

Das ist eine Gute Frage wenn du mir sagst wie ich das auf einem MAC heraus finde mache ich das mal.

Also im Terminal/Shell macht man Rechte mit chmod und Eigentümer mit chown. Mangels Mac kann ich dir da auch nicht mehr sagen.

Also in der Shell sollte dieser Befehl die Dateien dem Apache zu eigen machen:
Code: Select all
sudo chown -R /Applications/xampp/xamppfiles/htdocs/ nobody

(ohne Gewähr)
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: Kann keine Dateien mit PHP hochladen - woran kann es liegen?

Postby Gehm » 25. February 2009 19:03

Hi,

Mag jetzt zwar eine dumme Frage sein... aber woher kommt dann der Order "./address/include" wo die Datei drin ist die du ausführst, wenn du keine Order erstellen kannst?

Diese Ordner habe ich von Hand erstellt, nicht über php.

im Prinzip ist es so, dass Apache/PHP als IMHO User "nobody" ausgeführt wird. Die Dateien/Order in "htdocs" sollten also diesem gehören. Beim Upload über FTP sollte das automatisch richtig sein.

habe jetzt mal im Finder auf den Order mit Rechtsklick geklickt und allen alle rechte für alle verzeichnisse ab xampp/... gegeben.
Tut leider immer noch nicht :-(

Code: Select all
sudo chown -R /Applications/xampp/xamppfiles/htdocs/ nobody

Hier musste ich mein Passwort eingeben und dann Kamm die Zeile:
Code: Select all
chow: /Applications/xampp/xamppfiles/htdocs/: Invalid argument


keine Ahnung was das zu bedeuten hat, doch gebracht hat es leider nichts :-(

kann immer noch keine Daten Hochladen (vom MAC auf mein XAMPP'Local') und einen test Ordner kann ich auch nicht erstellen :-( da mir die Nötigen Rechte Fehlen.
User avatar
Gehm
 
Posts: 39
Joined: 11. March 2005 08:09

Re: Kann keine Dateien mit PHP hochladen - woran kann es liegen?

Postby Gehm » 25. February 2009 19:22

Juhu

ich glaube es ich habe es geschafft :-)

ich habe einem Ordner vergessen die Rechte zuzuweisen. Warum ich den Übersehen habe weis ich nicht aber dennoch an alle noch mal ein DIKES DANKE DANKE DANKE.

ich glaube es tut jetzt endlich.

wie ich Rechte zugewiesen habe.

auf den Ordner

Macintosh HD/Programme/xampp mit der Rechten Maus Klicken und dann auf INFO.. dort gibt es ganz unten die rechte für den Ordner, dort alle benutzer auswehlen die Ihr findet und eine Neuen person nobody noch anlegen mit dem Passwort xampp
Bitte nicht vergessen die rechte allen unter geordneten sachen auch zuzuweisen.

!! Und wenn Ihr wider einen Neuen ordner nicht über php erstellt dann nicht vergessen dem auch die rechte wider zu geben, das war bei mir der Fall.



jetzt aber noch mal ne andere frage, wenn ich einen Ordner habe der unten Links einen Pfeil drin hat bedeutet das doch nur das ein verknüpfter Ordner ist oder ?
User avatar
Gehm
 
Posts: 39
Joined: 11. March 2005 08:09


Return to XAMPP für Mac OS X

Who is online

Users browsing this forum: No registered users and 4 guests