我正在使用Symfony 2.7,并且我有一个处理excel文件的表单。当我尝试有意地创建表单错误(或当我捕获任何错误并创建表单错误时-我的意思是在表单中显示我的错误消息)在重新加载页面后(我认为是在那一刻),发生这种情况:
request.CRITICAL: Uncaught PHP Exception Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException: "The file "/tmp/phpFoVva0" does not exist" at .../vendor/symfony/symfony/src/Symfony/Component/HttpFoundation/File/MimeType/MimeTypeGuesser.php line 123 {"exception":"[object] (Symfony\\Component\\HttpFoundation\\File\\Exception\\FileNotFoundException(code: 0): The file \"/tmp/phpFoVva0\" does not exist at .../vendor/symfony/symfony/src/Symfony/Component/HttpFoundation/File/MimeType/MimeTypeGuesser.php:123)"} []
Run Code Online (Sandbox Code Playgroud)
表单代码通常会被处理,但是当它完成或以表单错误结束时,会弹出此异常。访问权限没有问题。错误的文件不是此过程中的excel临时文件。这是一些在后台处理的.tmp文件。
我注意到此错误仅在特定情况下弹出。在项目和页面中,我拥有具有“获取”(即我尝试使用该表单导入的内容)和“项目”的代理商。当我尝试将其导入没有项目的代理商中时,一切都很好,并且显示格式错误或成功。但是,当我将其导入具有至少一个Project的代理商中时,会弹出此异常。
所有表单都通过.yml config注册,并在Controller中启动,如下所示:
$importAcquisitionBudgetType = $this->get("app.form_excel.import_acquisitions_budget_type");
$importAcquisitionBudgetType->setAgency($agency);
$acquisitionsBudgetForm = $this->createForm($importAcquisitionBudgetType);
$acquisitionsBudgetForm->handleRequest($request);
Run Code Online (Sandbox Code Playgroud)
我没有其他选择,因此每条建议都非常重要。
非常感谢。