Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用phing删除符号链接?_Php_Windows_Cross Platform_Symlink_Phing - Fatal编程技术网

Php 如何使用phing删除符号链接?

Php 如何使用phing删除符号链接?,php,windows,cross-platform,symlink,phing,Php,Windows,Cross Platform,Symlink,Phing,如何使用phing删除符号链接,使其在Windows上也能正常工作 创建符号链接很容易,并且可以跨平台工作: <symlink target="${sharedPath}zend-framework/ZendFramework-${version.zf}/library/Zend/" link="library/Zend" /> 但两者都不是 <delete dir="symlinked folder" /> 也不是 将删除符号链接 如

如何使用phing删除符号链接,使其在Windows上也能正常工作

创建符号链接很容易,并且可以跨平台工作:

<symlink 
    target="${sharedPath}zend-framework/ZendFramework-${version.zf}/library/Zend/" 
    link="library/Zend" />

但两者都不是

<delete dir="symlinked folder" />

也不是


将删除符号链接

如何做到这一点


其他信息:

  • 我正在运行phing 2.4.10
  • Phing实际上将[delete]路径输出到已删除的文件/文件夹,但符号链接随后仍然存在。所以没有错误信息,也没有明显的故障

    • 这是因为您在Windows上创建的符号链接不是真正的符号链接,而是.LNK文件。 因此,它是一个目录,而不是一个链接。因此,作为文件删除是行不通的


      因此,您既不能使用某些windows special exec来创建实际的符号链接(但这些符号链接的存在取决于版本和/或权限-例如,查看有关连接的详细信息),也不能使用一些可怕的方法来测试给定的文件是否为.LNK文件(请参见)

      您知道发生了什么类型的故障吗?快速浏览源代码,似乎应该支持链接。DeleteTask.php在支持链接的PhingFile实例上运行。看起来有很多地方,Phing试图指出失败的原因,所以我想知道这里是否没有捕捉到这一点。至少您可以在代码流经这些文件(DeleteTask.php&PhingFile.php)时调试代码。您正在运行哪个版本的Phing?@quickshiftin请查看我的更新。您是否反对在Phing中编辑代码?看起来它应该进入FileSystem.php中的这个函数,也许删除unlink前面的@,看看是否有什么东西弹出
      函数unlink($file){global$php\u errormsg;if(false===@unlink($file)){$msg=“FileSystem::unlink()失败。无法取消链接“$file”。$php\u errormsg”;抛出新IOException($msg);}}
      使用以下代码段进行复制:
      在Linux上运行正常,在Windows上删除linkdir时出错。不太确定如何修复它(我坚持Phing)。
      <delete file="symlinked folder" />