php-src/ext/standard/tests/file/windows_links/common.inc
Christoph M. Becker 66a5f9fb18 Merge branch 'PHP-7.4'
* PHP-7.4:
  Extract test helper function for SeCreateSymbolicLinkPrivilege check
2020-07-02 12:24:49 +02:00

30 lines
798 B
PHP

<?php
function get_sysroot() {
// usually c:\\windows, but not always
return exec('echo %SYSTEMROOT%');
}
function get_junction(){
// junction.exe isn't included with Windows
// its a sysinternals tool for working with filesystem links
// see: http://technet.microsoft.com/en-us/sysinternals/bb896768
// install somewhere that is on %path% or added to %path%
return "junction.exe";
}
function get_mountvol() {
$sysroot = get_sysroot();
return "$sysroot\\System32\\mountvol.exe";
}
function skipIfSeCreateSymbolicLinkPrivilegeIsDisabled(string $filename) {
$ln = "$filename.lnk";
$ret = exec("mklink $ln " . __FILE__ .' 2>&1', $out);
@unlink($ln);
if (strpos($ret, 'privilege') !== false) {
die('skip SeCreateSymbolicLinkPrivilege not enabled');
}
}