Symfony3文件上传路径无法在生产中使用

时间:2016-09-20 10:52:32

标签: php nginx file-upload symfony-3.1

我正在使用symfony创建一个小型投资组合网站。一切都在我的本地机器上运行,我可以上传投资组合物品等等。

然而,在我的Droplet上(Ubuntu 16.04.1 x64,运行Nginx)

因此,我按照指南上传文件http://symfony.com/doc/current/controller/upload_file.html

一切都在本地工作,但我的生产液滴出现500错误。 我检查了我的日志中的错误,似乎是我在参数中设置的路径:

portfolio_directory: '%kernel.root_dir%/../web/images/portfolio'

给出以下错误

[2016-09-20 12:36:33] request.CRITICAL: Uncaught PHP Exception Symfony\Component\HttpFoundation\File\Exception\FileException: "Unable to write in the "/var/www/wsly/www/app/../web/images/portfolio" directory" at /var/www/wsly/www/vendor/symfony/symfony/src/Symfony/Component/HttpFoundation/File/File.php line 113 {"exception":"[object] (Symfony\\Component\\HttpFoundation\\File\\Exception\\FileException(code: 0): Unable to write in the \"/var/www/wsly/www/app/../web/images/portfolio\" directory at /var/www/wsly/www/vendor/symfony/symfony/src/Symfony/Component/HttpFoundation/File/File.php:113)"}

现在整个图像文件夹的权限设置为777(我为此使用了chmod -R 777)所以我不认为问题实际上是权限,而是路径不正确?不确定,但app /../ web不是一个有效的路径,它似乎从字面上复制路径,因为根目录是app目录?而不是使用/../

上升一级

似乎无法解决这个问题。

1 个答案:

答案 0 :(得分:0)

我有同样的问题,并花了很多天试验 我最终通过使用此格式作为目的地

来修复它
upload_destination: ../web/images/profiles