在 Apache、PHP 和 Windows 7 中使用符号链接目录

cha*_*suf 4 windows-7 apache-http-server symbolic-link php

我正在尝试为目录设置符号链接,但遇到了最奇怪的错误。我在用:

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

C:\inc\script.php我需要运行的文件在哪里。这看起来很简单,并且在我第一次执行脚本时(通过访问http://localhost/inc/script.php)确实有效。然而,在那之后,我收到一个错误并且无法让脚本再次成功执行,直到我删除并重新创建符号链接(即使关闭 Apache 或重新启动 Windows 也没有效果)。

请注意,其他一切都正常运行,符号链接有效,Apache 确实有权访问C:\inc并启用了 FollowSymLinks。这是我得到的错误:

警告:未知:无法打开流:第 0 行的未知中没有此类文件或目录

致命错误:未知:在第 0 行的未知中打开所需的“C:/inc/script.php”(include_path='.;C:\php5\pear') 失败

有谁知道与第 0 行的 Unknown 有什么关系,为什么它会在出现此错误之前只执行一次?

小智 6

为什么不直接在 Apache 中使用 Alias 来实现您想要的,而不是使用 NTFS SymLinks?

把它放在你的 httpd.conf 中:

Alias /inc "C:/inc"

<Directory "C:/inc">
    Options Indexes FollowSymLinks
    AllowOverride all
    Order allow,deny
    Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)