Neu erstellte Datei kann nicht bearbeitet werden

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

Neu erstellte Datei kann nicht bearbeitet werden

Postby skruffes » 19. May 2014 10:25

Hallo,

habe gerade große Sorgen mit einem php Programm..

habe eine Simulation geschrieben mit der eine XML Datei erstellt wird. Diese wird dann auch ausgewertet und in der History dargestellt.

Mein Problem ist dass ich zwar jeden Ordner alle Rechte (als Test) gegeben habe, wenn die xml Datei erstellt wird, kann sie jedoch nicht beschrieben werden. Ergebnis ist dass das Programm stecken bleibt und ich nur eine leere xml Datei habe.

Das komplett gleiche funktioniert allerdings auf Windows. Muss also ein Problem am Mac sein. kennt das wer und könnte mir helfen?? Kann auch die Datei er Mail an jemanden versenden, wenn er es ausprobieren will, kann. :(


das sind die Anforderungen die bei Windows alle Standartmäßig erfüllt sind. Ist das am mac nicht so?

Installation:
- PHP 5.3+ wird benötigt
- DOM-Extension muss aktiv sein
- Apache Webserver mit aktiviertem mod_rewrite
- PHP muss die Fähigkeit besitzen die Max-Execution-Time zu überschreiben ( macht das script )
- Das Unterverzeichnis "storage" muss schreibbar sein für den Apache-User.

Verwendete Libraries:
- Silex Micro-Framework
- Twig Template Engine
- Symfony Framework Twig-Brücke
- jQuery Front-End Framework
- jQuery DataTables Plugin
- Bootstrap 3 CSS Framework
- Bootstrap DataTables Patch


Hoffe mir kann jemand helfen.
Vielen Dank!
skruffes
 
Posts: 3
Joined: 19. May 2014 10:20
Operating System: MAC

Re: Neu erstellte Datei kann nicht bearbeitet werden

Postby Nobbie » 19. May 2014 11:27

Das Problem besteht darin, dass Du unter OSX (ähnlich wie unter Linux) ein Benutzersystem und Rechtesystem hast, wo nicht jeder alles darf. Dabei wird Apache/PHP von einem bestimmten SystemUser ausgeführt und auch die Dateien, die von Apache/PHP angelegt werden, gehören diesem SystemUser. Welcher das unter OSX ist, kann ich Dir nicht sagen, in der Datei httpd.conf (zentrale Apache Konfiguration) sollte es die Einträge "User = ...." und "Group = ..." geben.

Dieser SystemUser hat eine andere UserID als Deine, mit der Du Dich anmeldest. Wenn Du also Verzeichnisse und Ordner so anlegst, dass Du selbst darauf zugreifen kannst, heißt das noch lange nicht, dass Apache und PHP das auch kann.

In diesem Umfeld ist das Problem zu suchen, am besten arbeitest Du Dich mal in die Logik dieser Rechteverwaltung ein, dann kannst Du auch die entsprechenden Ordner mit den notwendigen Rechten ausstatten.

Unter Windows gibt es im Grunde nur Administratoren, eigentlich darf da jeder alles. Das ist wiederum die Grundlage für die vielfältigen Virusprobleme von Windows, weil jeder Anwender im Betriebssystem herumwerkeln darf. Andererseits hat das auch Vorteile, man muss eben als 0815-Anwender keine großartigen Kenntnisse darüber haben, wie Dateirechte aussehen und vergeben werden. Deswegen ist das unter Windows einfacher als unter OSX, aber es hat auch seinen Preis.

P.S.:
- Das Unterverzeichnis "storage" muss schreibbar sein für den Apache-User.


Genau das ist der Knackpunkt - das funktioniert unter OSX komplett anders als unter Windows und genau da wird Dein Problem liegen. Aber es hilft nichts, Du musst verstehen und lernen, wie das unter OSX funktioniert. Im Prinzip identisch wie unter Linux, aber das hilft Dir natürlich auch nur, wenn Du Linux-Kenntnisse hast.
Nobbie
 
Posts: 8758
Joined: 09. March 2008 13:04

Re: Neu erstellte Datei kann nicht bearbeitet werden

Postby skruffes » 19. May 2014 12:08

Vielen dank für deine Antwort.

Habe jetzt herausgefunden dass apache den SystemUser nobody verwendet. Kann ein Mac User dazu äußern und mir erklären, wie man dessen Rechte ändert?
Unter Ordnerinformationen finde ich nur den Admin und everybody.

Bin gerade nicht daheim, aber kann man nicht einfach diese Usergroup in der config auf zB everybody ändern?




Wenn ich diese Zeile in der Config ändere bekomme ich nur Fehlermeldungen :(

Das in ect/httpd.conf
Code: Select all
<IfModule !mpm_winnt_module>
<IfModule !mpm_netware_module>
#
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch. 
#
# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
User nobody
Group nogroup
</IfModule>
</IfModule>


Meine Benutzer gehen nicht und everybody gibt diesen Fehler aus.

httpd: bad user name everybody




Lg
skruffes
 
Posts: 3
Joined: 19. May 2014 10:20
Operating System: MAC


Return to XAMPP für Mac OS X

Who is online

Users browsing this forum: No registered users and 1 guest