2

手册说_

注意:仅适用于 Windows:此功能需要 PHP 在提升模式或禁用 UAC 的情况下运行。

但是在我的 Windows 8 机器上,我可以在mklink /H没有提升权限的情况下运行,所以我不明白为什么 PHP 需要这个。另一方面,如果我在mklink没有 H 的情况下运行来创建符号链接,我确实需要提升权限,尽管 PHP 文档中没有对此进行评论symlink()

我没有安装 Windows PHP,所以无法对其进行测试(我想知道这如何适用于 windows 7、vista 或其他)。文档错了吗?

4

2 回答 2

1

我在我的 Windows 8.1 机器上对其进行了测试,它似乎工作正常(通过 Apache/CGI 运行)

<pre><?php
var_dump(file_exists('f1'));
var_dump(file_exists('f2'));

var_dump(touch('f1'));
var_dump(link('f1','f2'));

var_dump(file_exists('f1'));
var_dump(file_exists('f2'));

var_dump(file_put_contents('f1', 'test'));
var_dump(file_get_contents('f2'));

输出:

boolean false
boolean false
boolean true
boolean true
boolean true
boolean true
int 4
string 'test' (length=4)
于 2014-11-18T02:01:35.887 回答
1

您无需以管理员身份运行即可创建硬链接。但是,与 UNIX 不同,您确实需要对链接目标的写入权限。

我会大胆猜测,该文档的作者正试图创建一个指向只有管理员才具有写访问权限的文件的硬链接,因此错误地得出结论,认为管理员访问权限是创建硬链接所必需的。

于 2014-11-18T02:45:17.333 回答