Unix 符号链接和PHP 引用
类unix 系统下,使用ln命令,可创建符合链接,创建的符合分为两类
1 ln filename filehard hardlink, 硬链接,删除filehard,使用hardlink还可以继续访问文件内容。硬链接创建一个 i-node,类容和原文件名的一模一样,删除源文件之后,文件类容还有入口可访问(filehard)。hardlink不能跨越文件系统。
2 ln –s filename files symbolic link 软连接,类似于windows上的快捷方式,如果删除源文件,则软链接文件就无法访问源文件了,实际上上删除源文件就直接释放了源文件的内容。symbolic link可跨越文件系统,软链接的文件内容是源文件的路径,所以软链接的文件大小很小
PHP中的引用,其表现形式和符合链接的hard link 非常像
看如下代码
<?php $a = 10; $b = &$a; unset($a); echo $b;
输出结果是 10,即只要访问变量内容的入口还有,那么变量内容不会被释放,还可以继续访问。