Php 如何使用phing删除符号链接?
如何使用phing删除符号链接,使其在Windows上也能正常工作 创建符号链接很容易,并且可以跨平台工作: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" /> 也不是 将删除符号链接 如
<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" />