在php中,当文件位于软链路径中,__FILE__无法获取软链路径,只能获取实际路径,开始想从重写__FILE__或重写require*方法入手,没有找到好的解决办法。
后来发现把目录通过mount --bind这个命令映射,可以起到和软链相同的作用。还可以避免__FILE__自动获取实际路径的问题。
shell 命令:
mount --bind /source /target
在fstab文件中添加,实现启动自动挂载:
/source /target none rw,bind 0 0
经测试此处的gid和uid 是无效的,mount后的目录权限和源目录相同,所以,目标目录的使用者需要拥有源目录的相应权限。