【问题标题】:Apache treatment of symbolic links under WindowsWindows下Apache对符号链接的处理
【发布时间】:2021-01-07 02:21:15
【问题描述】:

+FollowSymLinks 是否适用于 Windows 快捷方式?在 Windows 10 下,Apache 似乎完全忽略了它。

这一点的重要性在于,一些 Web 框架,如 Laravel,使用该指令在整个符号链接中访问存储文件夹(或公共目录之外的任何其他文件夹)。然后,这些特性在 Windows 下的 Apache 中就被简单地忽略了。

有没有比我更有经验的人能同意或解释一下?你能告诉我是否有任何解决方法吗?

感谢您的帮助!

【问题讨论】:

    标签: laravel windows apache symlink visual-web-developer


    【解决方案1】:

    快捷方式不是符号链接,这是不一样的。为了将文件系统引用放到 Windows 上的文件或目录,您需要在 CMDPS 控制台中使用 mklink command

    至于 Laravel,它没有外部依赖,这意味着除了 PHP 本身之外 Laravel 需要工作的所有东西都应该位于服务目录中,并注意配置中的路径。据我所知,Laravel 不使用任何类型的符号链接,因为它与平台无关,这意味着只要您正确配置 PHP 并使用所需的扩展进行编译,它就可以在任何地方工作。它甚至附带了一个默认的 .htaccess 用于在 /public 目录中路由,至少在 Laravel 8 中是这样。

    Laravel 文件相互引用的方式相当简单,查看relative paths。请注意,它们也被实现为任何 Windows 或 *nix 系统中文件系统的一部分,并且即使不完全相同,它们的行为也相似。

    我建议将项目按原样存储在配置定义的目录中,然后从那里处理您的代码。

    【讨论】:

    • 是的,Laravel 使用符号链接。尝试使用存储文件夹而不是公共目录中的通常图像文件夹上传图像。正是出于这个原因,我提出了这个问题。有没有办法在 Windows 上运行的 Apache 中使用存储文件夹?
    • 好吧,正是因为这个原因,有一个叫做 Laravel Docs 的东西,它实际上是搜索“laravel 符号链接”laravel.com/docs/8.x/filesystem#the-local-driver 后的第一个谷歌结果。话虽如此,绝对没有必要使用“php artisan storage:link”,它与我指出的底层 mklink 完全相同,解释了与快捷方式的区别;它也与在配置中手动指定所需路径没有什么不同。
    猜你喜欢
    • 2011-03-03
    • 1970-01-01
    • 2017-08-22
    • 1970-01-01
    • 2013-04-01
    • 2010-11-29
    • 2014-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多