руководство говорит
Примечание: только для Windows: эта функция требует PHP для запуска в
повышенный режим или с отключенным UAC.
Но на моем компьютере с Windows 8 я могу запустить mklink /H
без повышенных привилегий, поэтому я не понимаю, почему PHP требует этого. С другой стороны, если я бегу mklink
без H, чтобы создать символическую ссылку, я делать требуют повышенных привилегий, хотя это не комментируется в документации PHP для символическая ().
У меня нет установки Windows для PHP, поэтому я не могу ее протестировать (и мне интересно, как это применимо для Windows 7, Vista или чего-то еще). Документы не так?
Вам не нужно быть администратором, чтобы создать жесткую ссылку. Однако, в отличие от UNIX, вы делать нужен доступ на запись к целевой ссылке.
Я рискнул бы предположить, что автор рассматриваемого документа пытался создать жесткую ссылку на файл, доступ к которому имели только администраторы, и поэтому неправильно сделал вывод, что доступ администратора необходим для создания жестких ссылок.
Я проверил его на своем компьютере с 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)