PHP-Dateien nur unter htdocs

Hallo,

ich habe mir gerade Apache und PHP auf meinem Win98-Rechner installiert.

Ich würde gerne PHP-Scripte testen, die z.B. im verzeichnis g:\Projekte\p1 liegen.

Müssen die PHP-Scripte immer im Verzeichnis „htdocs“ liegen ?
Wenn nein, wo muss ich die entsprechenden Pfade angeben ?

Danke,
Swen

Hallo Swen

Müssen die PHP-Scripte immer im Verzeichnis „htdocs“ liegen ?
Wenn nein, wo muss ich die entsprechenden Pfade angeben ?

Im Gegensatz zu normalen html-Dateien, welche du von überall aus
im Browser öffnen kannst (selbst von CD), müssen php-Dateien in
einem Verzeichnis unterhalb des sogenannten Document-Root des
Webservers liegen.

Das Verzeichnis muss nicht unbedingt „c:/apache/htdcos“ lauten,
es kann auch „c:/dateien/meinehtmldateien“ heissen, dies muss
aber dem Server mitgeteilt werden.

Wenn du dieses Verzeichnis woanders haben möchtest:

In dem Installations-Verzeichnis von apache gibt es ein
Verzeichnis conf, darin liegt die Datei httpd.conf. Dies ist die
zentrale Konfigurations-Datei des apache-Servers. In dieser Datei
findest du unter anderem den Eintrag

DocumentRoot „C:/apache/htdocs“
(Das Verzeichnis hängt davon ab, wohin du apache installiert hast)

Wichtig: Es gibt weitere Angaben zum Verzeichnis, die du dann
auch ändern musst. Zum Beispiel

Ich empfehle dir aber vor Änderungen an dieser Datei
entsprechende Dokumentationen nachzulesen. Auf jeden Fall
solltest du vor Änderungen Sicherungskopien anlegen.

Thomas

Alles klaro, ich danke Dir.

Ciao,
Swen

hi thomas,
bei mir hat das leider nicht gefunzt…hab die httpd.conf an 3 stellen geändert, mehr stellen hab ich nicht gefunden, als test hab ich die httpd.conf datei dann umbenannt, um zu testen ob er denn wirklich diese benutzt…und trotzdem wurden die php geparst…das gibts wohl noch ne andere datei die man ändern sollte???

ps: hab w2k, apach 1.3.20, php4

danke für tripps.
cu

ok fehler 1, es reicht nicht aus nach änderungen apache neu zu starten, der browser-cache muss komischerweise auch geleert werden…also es ist schon die httpd.conf datei die wirklich gebraucht wird…hätte mich auch gewundert, ich dachte nur kann ja sein, weil man bei einigen conf-tutorials gesagt bekommt man soll diese und jene datei nochmal hier und da hin kopieren. ok aber es klappt trotzdem nicht…vielleicht liegt das daran das mein projektordner auf unserem hausinternen server liegt, der als workgroup-server fungiert…und somit für apache vielleicht ein sicherheitsproblem darstellt???

danke für tripps aller art
meth

Hi !

vielleicht liegt
das daran das mein projektordner auf unserem hausinternen
server liegt, der als workgroup-server fungiert…und somit
für apache vielleicht ein sicherheitsproblem darstellt???

Ob apache hier Grenzen zieht, was die Lage seiner Web-Dokumente
angeht, kann ich dir nicht hundertprozentig sagen, da ich mich
recht streng an die Standards halte, aus gutem Grund. Aber
denkbar allemal.

Ein Webserver ist eben auch nicht dazu gedacht, irgendwo in einem
Netzwerk php-files zu parsen, sondern in erster Linie, um lokale
Dateien (lokal = document root des Server / der virtuellen hosts)
per http-Protokoll öffentlich zugänglich zu machen. Man sollte
den Armen nicht prutal missbrauchen… :wink:

Es gibt doch bestimmt saubere Lösungen…

Beispielsweise:

Denkbar währe es, deinen Projekt-Ordner (bzw. die dort
enthaltenen html/php/jpg…-Dateien) in einem „üblichen“
DocumentRoot wie c:\apache\htdocs ö.ä. lokal auf deiner Platte zu
speichern und deinen apache entsprechend standardmäßig zu
konfigurieren.

Wenn deinem Rechner in eurem (Firmen?)Netz eine feste IP
zugewiesen ist, könnnen dann alle auf die Web-Seiten deines
Projekt-Ordners erreichen, über Eingabe deiner Rechner-IP im
Browser. Und deine PHP-Dateien werden ordentlich geparst.

Gruss
Thomas

ja wir sind hier nur zu viert (start up :smile: antizyklisch) aber so haben wir das bisher gemacht, aber wenn man websites macht, dann muss man ständig die ganzen ordner runterhangeln, c, apache, htdocs, home / kunde…und dort liegen dann eben „nur“ die php dateien, dann muss ich jedesmal die bilder reinkopieren und die original z. .b. 20 mb grossen psd (photoshop) dateien liegen auf dem server, das ist kein echter workflow finde ich, deshalb will ich dasn langfristig weg von meinem rechner haben, zudem wenn mehrere leute an einem projekt arbeiten…und jedesmal aufn webserver spielen zum testen (das haben die mal in einer renommierten webagentur gemacht… :frowning: ist völlig unproduktiv, man muss viel testen und jedesmal dateien über ftp hochspielen, da geht die produktivität in den keller, da nehm ich mir lieber mal nen ganzen tag und richte mir alles perfekt ein :smile: und wenn ich das über virtellen host mache???

danke trotzdem für jeden tripp
meth

Ich habe was gefunden!

…und dort liegen dann eben
„nur“ die php dateien, dann muss ich jedesmal die bilder
reinkopieren und die original z. .b. 20 mb grossen psd
(photoshop) dateien liegen auf dem server, das ist kein echter
workflow finde ich, deshalb will ich dasn langfristig weg von
meinem rechner haben, zudem wenn mehrere leute an einem
projekt arbeiten…

Das Thema „interner Workflow“ kann man wohl in einem solchen
Forum weitestgehend nur theoretisch besprechen, für konkrete
Tipps in dieser Dimension braucht man schon einige Kenntnisse
über die vorliegenden Arbeitsumgebnungen etc… spannendes Thema!

ABER ES GEHT VIELLEICHT DOCH!
(zumindest wenn apache das network volume akzeptiert)

Ich habe eben gerade (weil ich meinen apache auch am
konfigurieren bin, unter linux) einen Abschnitt im Manual
gefunden, der deine ursprüngliche Frage beantwortet.

Der Abschnitt lautet: „Files outside the DocumentRoot“:

"There are frequently circumstances where it is necessary to
allow web access to parts of the filesystem which are not
strictly underneath the documentRoot. Apache offers serveral
different ways to accomplish this. On Unix…
Alternatively, the Alias directive can be used to map any part of
the filesystem into the web space. For examle, with

Alias /docs /var/web

the url http://www.example.com/docs/dir/file,html will be serverd
from /var/web/dir/file.html."

Bei dir zum Beispiel:

In der httpd.conf folgendes eintragen:
Alias /p1 g:\Projekte\p1

Und Verzeichnis über den Browser abrufen
http://localhost/p1/dateiname.php

siehe auch:
http://httpd.apache.org/docs-2.0/mod/mod_alias.html#…

just try it out
Thomas

erstmal danke für die viele mühe.

ich hab das jetzt so eingegeben:

Alias /p1/ „C:/Projekte/p1/“
ähnlich wie eine zeile drüber, da stand in der httpd bereits:

Alias /icons/ „C:/apache/icons/“

jetzt mach der browser beim aufruf:

http://localhost/p1/index.php

was komisches, er will die php abspeichern, das ist ja komisch, bis jetzt hab ich seit monaten php getestet mit php3, oder php4 oder php, egal…hat immer gefunzt…warum will er denn die datei jetzt abspeichern? wie auch immer, wenn ich sie abspeichern will (zumindest findet er sie jetzt!) dann hab ich allerdings noch die php skripte im source, d. h. es wurde nix geparst :frowning: ich versuchs mal weiter bin aber schon ein stück wissender.

danke
meth

jetzt mach der browser beim aufruf:

http://localhost/p1/index.php

was komisches, er will die php abspeichern, das ist ja
komisch, bis jetzt hab ich seit monaten php getestet mit php3,
oder php4 oder php, egal…hat immer gefunzt.

In meiner ersten Antwort schrieb ich:

„Ich empfehle dir aber vor Änderungen an dieser Datei
entsprechende Dokumentationen nachzulesen. Auf jeden Fall
solltest du vor Änderungen Sicherungskopien anlegen.“

Sorry, ich denke, es wird Zeit, dass du dir einfach mal in Ruhe die Dokumentation zur Apache-Konfiguration anschaust. Ich weiss, die Philosophie der Datei ist nicht für jedermann leicht zu verstehen (auch ich habe hin und wieder meine Probleme), aber es macht wirklich keinen Sinn und bringt dich nicht wirklich weiter, bei jeder unvorhergesehenen Situation immer wieder sofort einen Artikel in’s Forum zu posten. Ich nutze dieses Forum und die hiesigen Newsgroups auch sehr oft, wenn ich nicht weiterkomme, aber ein wenig muss man schon selbst mal hinter die Dinge steigen. Ist nur ein gut gemeinter Tipp!

Ich habe selbst noch nicht benutzt, ich vermute, du musst dem Verzeichnis mit einem …einstellungen… beibringen, dass dort php-Dateien liegen. Genaueres erfährst du wie gesagt auch in der Dokumentation.

schönen Gruß
Thomas

alles klar du hast recht :smile: danke, ich nehm das nie persönlich keine sorge, ich geb mir ja mühe :smile:
grüsse
meth