Требует ли команда PHP link () действительно повышенные привилегии в Windows?

руководство говорит

Примечание: только для Windows: эта функция требует PHP для запуска в
повышенный режим или с отключенным UAC.

Но на моем компьютере с Windows 8 я могу запустить mklink /H без повышенных привилегий, поэтому я не понимаю, почему PHP требует этого. С другой стороны, если я бегу mklink без H, чтобы создать символическую ссылку, я делать требуют повышенных привилегий, хотя это не комментируется в документации PHP для символическая ().

У меня нет установки Windows для PHP, поэтому я не могу ее протестировать (и мне интересно, как это применимо для Windows 7, Vista или чего-то еще). Документы не так?

2

Решение

Вам не нужно быть администратором, чтобы создать жесткую ссылку. Однако, в отличие от UNIX, вы делать нужен доступ на запись к целевой ссылке.

Я рискнул бы предположить, что автор рассматриваемого документа пытался создать жесткую ссылку на файл, доступ к которому имели только администраторы, и поэтому неправильно сделал вывод, что доступ администратора необходим для создания жестких ссылок.

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)
1

По вопросам рекламы [email protected]