首页 文章

如何在xampp中为osx设置符号链接

提问于
浏览
0

我无法在osx上的xampp安装的站点目录中设置符号链接 . 我对apache和symlinking都缺乏经验,但无论如何我还是试着去 .

这是我想要实现的目录结构:

htdocs/symlinktest/
    whoami.php
    img/
        test.img.jpg
    app/
        ->img/
            test.img.jpg

使用以下链接命令设置符号链接:

ln -s img app

它似乎设置正确:

drwxrwxrwx   3 username  admin   102B Aug 14 16:26 app
    lrwxr-xr-x  1 username  admin     3B Aug 14 16:26 img -> img
drwxrwxrwx   3 username  admin   102B Aug 14 16:17 img
-rwxrwxrwx   1 username  admin    29B Aug 14 23:16 whoami.php

访问localhost / symlinktest /会显示一个目录索引,其中img和app作为子目录,并显示whoami.php . 但是,localhost / symlinktest / app /显示一个空目录 .

在浏览器中打开whoami.php显示无人 . 在htdocs的父级中运行ls -l会显示以下htdocs:

drwxrwxr-x@  70 root    admin   2380 Aug 14 16:12 htdocs

在htdocs中运行ls -l会显示以下symlinktest:

drwxrwxrwx    6 username  admin       204 Aug 14 17:59 symlinktest

对于子目录也是如此 .

我在xampp / etc /中更改了httpd.conf中的用户设置,因此它现在具有以下用户设置:

User nobody
Group admin

它已经有以下指令集:

DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs"
<Directory "/Applications/XAMPP/xamppfiles/htdocs">
    Options Indexes FollowSymLinks ExecCGI Includes
    AllowOverride All
    Require all granted
</Directory>

我尝试在每次更改后通过xampp控制面板重新启动xampp . 我已经尝试将htdocs文件夹chown给nobody:admin,同时还递归地将symlinktest文件夹和子目录chowning给nobody:admin . 不幸的是我仍然在symlinktest / app /中看到一个空索引 . 试图在浏览器中查看test.img.jpg给我一个403 .

我已经检查了stackoverflow以及其他网站中类似问题的所有已接受的答案,但我没有运气 .

我的智慧已经结束,而且我很快落后于一个即将推出的项目的部署策略 . 任何帮助,建议或重定向都将受到高度赞赏 .

(要清楚,这样做的原因是将大型静态文件目录与我们的仓库隔离开来,以实现更快的推/拉 . )

1 回答

  • 0

    非常感谢Bryan Encina提供的答案 .

    答案是,检查细节 . 我正在创建自我引用符号链接 . 我理解它的方式,符号链接路径是相对于命令的,但目标实际上应该是结束符号链接的相对路径 . 所以我只需要像这样设置符号链接(注意 ../ ):

    ln -s ../img app
    

    我认为这个问题与我最不了解的事情有关,而不是简单地仔细检查细节 .

    DERP .

相关问题