Moin!
Schau es dir mal genau an:
require("c:\programme\tsw-testserver [...]
main(c:\programme sw-testserver [...]
Was siehst du?Richtig, hinter "c:\programme" steht in der Fehlermeldung kein Backslash. Und dort, wo in deinem Script "\tsw" steht, steht in der Fehlermeldung " sw".
Welche Schlußfolgerung ziehst du daraus für die Rolle des Backslash in einer Pfadangabe?
(Wenn du jetzt von ganz allein auf die Antwort "er darf da nicht eingesetzt werden" kommst, darfst du auch wieder versetzt werden, aber über Los gehen und 4000 Euro einziehen, gilt immer noch nicht, es sei denn, du läßt mir 3999 als mildtätige Spende auf eine 0190er Nummer zukommen).
Solange die Antwort lautet "Ein Backslash ist ein Escape-Zeichen im String, \t bedeutet 'Tabulator', und wenn man einen echten Backslash im String haben will, sollte man einen doppelten Backslash \ eingeben" - ok.
Aber viel sinnvoller scheint mir, überhaupt keine absoluten Pfadangaben einzugeben. Das Verzeichnis, in dem sich die Skripte des aktuellen Webspace befinden, erhält man auch mittels $_SERVER['DOCUMENT_ROOT']. Wenn man diese Variable zusammensetzt mit den eventuellen Unterverzeichnissen, in denen sich die Datei befindet, kommt man genauso gut zum Ziel. Oder man verzichtet gleich auf eine absolute Pfadangabe und verwendet nur relative Angaben, die sich dann logischerweise relativ zum Ort des ausgeführten Skriptes beziehen.
Die allerletzte Möglichkeit wäre, den Include-Path von PHP entsprechend zu ergänzen und auf absolute Pfadangaben beim Include zu verzichten.
- Sven Rautenberg
My sssignature, my preciousssss!