File upload &引用;“拒绝访问”;在'上出错;重命名';在Symfony中上载文件时调用

File upload &引用;“拒绝访问”;在'上出错;重命名';在Symfony中上载文件时调用,file-upload,symfony,File Upload,Symfony,我正在Win7/Apache2.2/ZendStudio环境中进行一个Symfony项目,在让文件上传正常工作时遇到了一些问题 我的目标是让用户创建一个可以包含任意多个“文档”的新实体(基于在上找到的文章)。我有一个表单类型,其中包含一个“collection”类型的字段(基于在上找到的文章)。到现在为止,一直都还不错。通过jQuery,我可以将任意多个表单添加为子表单,效果很好。但是,当我提交表格时,经常(但并非总是!)会出现以下例外情况: 警告:重命名(C:/Programming/Serv

我正在Win7/Apache2.2/ZendStudio环境中进行一个Symfony项目,在让文件上传正常工作时遇到了一些问题

我的目标是让用户创建一个可以包含任意多个“文档”的新实体(基于在上找到的文章)。我有一个表单类型,其中包含一个“collection”类型的字段(基于在上找到的文章)。到现在为止,一直都还不错。通过jQuery,我可以将任意多个表单添加为子表单,效果很好。但是,当我提交表格时,经常(但并非总是!)会出现以下例外情况:

警告:重命名(C:/Programming/Servers/Apache2.2/htdocs/Symfony/app/cache/dev/doctor/orm/Proxies\\ uuu CG\ uu mymainbundletentityrecruiter.php.507bf02e30df69.85090364,C:/Programming/Servers/Apache2.2/htdocs/Symfony/app/cache/dev/doctor/orm/Proxies\\ uu CG\ uuu mymainbundletentitylecture.php):Zugriff verweigert(代码:5)在C:\Programming\Servers\Apache2.2\htdocs\Symfony\vendor\doctor\orm\lib\doctor\orm\Proxy\ProxyFactory.php第194行中

Zugriff verweigert是德国人,因为访问被拒绝。奇怪的是,这些文件似乎被重命名并保存在正确的位置

为什么我会遇到这个异常,它是否与我的环境有关,以及如何修复它?我猜这个问题与其他情况有关,但不太确定它是否与其他情况相同。不过,我也遇到了此链接中描述的问题


提前谢谢。

我最近遇到了同样的问题。我真的不太清楚为什么会发生这个问题,但问题来自于Doctrine试图生成代理类的过程中的一个步骤


在我的config.yml文件中,在条令配置的ORM部分下,我将
auto\u generate\u proxy\u classes
的值从
%kernel.debug%
更改为
false
。自做出更改以来,我已经玩了一段时间,但此后一直无法重现此问题。

在寻找相同答案时发现了此问题,这似乎是windows+原则的问题


TLDR:基本上,代理试图重命名一个仍在使用的文件,该文件在Linux下工作,但并不总是在windows上工作。

转到重命名该文件的文件,然后用与windows兼容的重命名函数替换它

private function renameWindowsCompatible($oldfile,$newfile) {
    try {
        rename($oldfile,$newfile);
    } catch(\Exception $e) {
        if (copy($oldfile,$newfile)) {
            unlink($oldfile);
            return TRUE;
        }
        return FALSE;
    }
    return TRUE;
}

我也有同样的问题-(有人对解决方案有想法吗?我在这篇帖子上看到它在2.5条原则中是固定的,但是当我运行它(在Symfony 2.6.1上)时,我仍然会得到错误。可能会更新Symfony,或者什么?同意。它说固定2.5条原则,但我仍然在XAMPP和Windows 10 x64中的2.5.4条原则中得到这个问题…:(Downvoting)因为链接不再在线了。答案应该完全是这样。链接断了:/这只是对供应商的临时修复,我不知道教义是否会考虑这个更新,请注意!文档清楚地警告了这一点:在开发环境中执行此操作时,请注意,如果尚未生成某些代理,则可能会出现“找不到类/文件”错误