Verwenden von symbolischen Linkverzeichnissen mit Apache, PHP und Windows 7

3

Ich versuche einen symbolischen Link für ein Verzeichnis einzurichten und erhalte den seltsamsten Fehler. Ich benutze:

mklink / d C: \ www \ site \ inc C: \ inc

woher C:\inc\script.php ist die Datei, die ich ausführen muss. Dies scheint recht einfach zu sein und funktioniert beim ersten Ausführen des Skripts (durch Zugriff auf http://localhost/inc/script.php ). Danach erhalte ich jedoch eine Fehlermeldung und kann das Skript erst wieder erfolgreich ausführen, wenn ich den symbolischen Link lösche und neu erstelle (selbst das Herunterfahren von Apache oder ein Neustart von Windows hat keine Auswirkungen).

Beachten Sie, dass alles andere normal läuft, der symbolische Link funktioniert und Apache die Zugriffsberechtigung hat C:\inc und hat auch FollowSymLinks aktiviert. Hier ist der Fehler, den ich erhalte:

Warnung: Unbekannt: Öffnen fehlgeschlagen   Stream: Keine solche Datei oder Verzeichnis in   Unbekannt in Zeile 0

Schwerwiegender Fehler: Unbekannt: Öffnen fehlgeschlagen   Erforderliches 'C: /inc/script.php'   (include_path = '.; C: \ php5 \ pear') in   Unbekannt in Zeile 0

Weiß jemand, was der Deal mit dem Unbekannten in Zeile 0 ist, und warum würde es genau einmal ausgeführt, bevor dieser Fehler ausgegeben wird?

chawkinsuf
quelle
alles was benötigt wird ist Capital D und es muss cmd line als admin ausgeführt werden

Antworten:

5

Warum nicht einfach Alias ​​in Apache verwenden, um das zu erreichen, was Sie möchten, anstatt NTFS SymLinks zu verwenden?

Fügen Sie dies in Ihre httpd.conf ein:

Alias /inc "C:/inc"

<Directory "C:/inc">
    Options Indexes FollowSymLinks
    AllowOverride all
    Order allow,deny
    Allow from all
</Directory>
vvsraju
quelle
Ich habe versucht, einen Alias ​​zu verwenden, aber das Problem ist, dass es eine Umschreiberegel gibt, die alles, was keine Datei oder kein Verzeichnis ist, nach index.php umleitet (RewriteCond% {REQUEST_FILENAME}! -F & amp; RewriteCond% {REQUEST_FILENAME}! -D). Dies ist ein System, das ursprünglich unter Linux entwickelt wurde (wo die Sym-Links gut funktionieren). Daher möchte ich die Umschreiberegeln nicht überfrachten, um bestimmte Verzeichnisse auszuschließen (es gibt tatsächlich mehrere / inc-Verzeichnisse, auf die ich zugreifen muss).
chawkinsuf