Alman wrote:Aber andererseits: Warum gibt's das Produkt "Apache auf Windows" dann überhaupt?
Gute Frage - weiß ich nicht. Wahrscheinlich aus dem Bestreben, den sehr guten Webserver auch für Windows-Programmierer (die in aller Regel keinerlei UNIX Kenntnisse besitzen) zugänglich zu machen. Wobei das Xampp Paket konsequent den richtigen Weg geht und sich als reines Entwicklungssystem versteht.
Alman wrote:Kurze Zwischenfrage: Wo steht genau, dass runde Klammern in Pfaden nicht erlaubt sind? Kannst du da konkret werden? Gibt es dazu eine Aussage von Microsoft?
Das steht schon seit Entwicklung von MS-DOS 1.0 fest. Damals durften Dateinamen nur 8 Stellen lang sein, es durften nur Alphacharacter enthalten sein, keine Satzzeichen, keine Leerstellen, keine Umlaute usw.
Aber mit jedem neuen Release eines Dateisystems (von FAT12 via FAT16, FAT32, NTFS, NTFS5 usw.) hat Microsoft (für sich) diese Spezifikation gelockert. Weil es ja "ging". Und das ist u.a. das, was ich meine: Microsoft schert sich einen Dreck um Richtlinien. Es wird was neues entwickelt, dann zählt der Scheiß von gestern nicht mehr, wer sich dran hält ist selbst schuld. Und wie trefflich sich Microsoft an Richtlinien neutraler Gremiem (IEEEE, W3C usw.) hält, beweist seit vielen Jahren der unsäglich schlechte InternetExplorer, der so ziemlich alles anders macht, als es in den Richtlinien vorgesehen ist.
Alman wrote:Wir wollen doch hier nicht Problem und Ursache verwechseln. Wenn etwas falsch läuft, dann ja wohl bei beim Apache:
[list=1][*]Programme und Daten liegen nicht getrennt in verschiedenen Verzeichnisbäumen mit vererbten Sicherheitseinstellungen (also, bitte, wer matscht hier herum?)
Soll das ein Scherz sein? Dieses (wieder mal grottenschlechte Vererbungsprinzip) gibt es doch erst seit NTFS5, vorher kannten die Dateisysteme fast gar keine Rechtesysteme. Die hier zur Rede stehende Software ist zudem kein Produkt eines bestimmten Herstellers, sondern es ist eine umfangreiche Sammlung verschiedenster Komponenten, die als eigenständige Distribution gebündelt vom Xampp Team bewusst so installiert wird, um ganz bewusst eine Verteilung der Komponenten zu verhindern. Dass das minderwertige Rechtesystem von Microsoft ein grundsätzliches Problem mit dieser Art von Installation hat, ist ganz sicher nicht Schuld des Xampp Teams, und schon gar nicht die Schuld von Apache oder gar MySQL. Und nur diese zentrale Installation erlaubt es (ein Hochziel solcher Entwicklungsumgebungen), die komplette Entwicklungsumgebung simpel via USB Stick von einem Rechner auf den anderen zu portieren um so die komplette Umgebung mit wenigen Mitteln beim Kunden oder auf dem Notebook oder wo auch immer parat zu haben. Versuche das mal mit der IIS Entwicklungsumgebung mit ASP.NET und Microsoft SQL Server.
Alman wrote:Apache kommt nicht generisch mit Pfaden zurecht und macht unnötige, nicht nachvollziehbare Vorgaben
Es ist nicht der Apache Core, der nicht zu Recht kommt, sondern es ist das SSL Modul, welches (unglücklicherweise) als API für die Angabe eines Caches genau die gleiche Syntax benutzt, wie es nun (ohne Sinn und Verstand) von Microsoft benutzt wird, um (ziemlich derb und grob) 32bit Applikationen von 64bit Applikationen zu trennen. Da hätte es sicherlich viele "schönere Varianten" gegeben (warum nicht einfach Unterverzeichnisse?) als diese häßliche Klammersyntax?
Alman wrote:Wo ist da deiner Meinung nach der Zusammenhang? "C:\Program Files (x86)" ist kein Mapping, sondern ein ganz natürlicher Pfad auf dem Laufwerk. Die Soft-Links (würde ein Linux-Anwender wahrscheinlich sagen) existieren nur, damit alte Software weiter funktioniert. Apache muss das gar nicht interessieren.
Ob speziell dieser Pfad gemapped wird oder nicht, kann ich mangels 64bit Windows nicht beurteilen. Sehr wohl kann ich das grausame Mapping beurteilen, was Microsoft mit Windows Vista bereits eingeführt hat und was zu unerträglichen Querständen führen kann. Das ist wieder ein schönes Beispiel dafür, dass Microsoft sich einen Scheiß um Richtlinien kümmert: wurde bis WindowsXP der Datenanteil der jeweiligen Benutzer unter c:\Documente und Einstellungen\.... usw. gespeichert, gibt es diesen Ort mit Vista (und weiters Windows 7) nicht mehr. Es gibt nun ein C:\User Verzeichnis, was irgendwie intern (via Registry, das größte Nachkriegsverbrechen der Softwaregeschichte) auf C:\Benutzer gemapped wird. Jede Software installiert sich "laut" in das Verzeichnis "C:\Program Files", aber ein solches Verzeichnis existiert nicht, wenn man via DOS Box auf der Festplatte lustwandelt.
Und ganz speziell die Systemdateien (wie besagte hosts-Datei) die liegen in völlig unauffindbaren Verzeichnissen - und das allerfurchtbarste daran: je nachdem, ob ein 32bit-Werkzeug (Apache, Notepad) oder ein 64bit-Werkzeug (Notepad64) die Datei öffnen will, muss man einen anderen Dateinamen zum Öffnen angeben. Wie kaputt ist das denn? Das führt dazu, dass ein Anwender mit seinem 64-bit Notepad die Hostsdatei anpasst und speichert, aber nachher der 32bit Apache diese geänderte Datei nicht findet (weil er als 32bit Applikation eine andere Datei beim Open geliefert bekommt). Das wiederum versteht der kleine IT-Mitarbeiter von Firma XYZ wiederum nicht im Ansatz, da er (unwissentlich) eine 32bit Version seines Lieblingseditors benutzt, der dann (per Zufall) die richtige (besser: die gleiche) hosts-Datei in die Finger bekommt wie nachher der 32bit Apache, weswegen bei ihm alles problemlos funktioniert.
Und diese Firma, die solche schrecklichen Dinge verbricht, die führst Du an, man brauche sich lediglich an (deren?) Richtlinien zu halten, und schon funktioniert alles....