0

我正在用 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 不是有效路径,它似乎从字面上复制路径,因为根目录是应用程序目录?而不是使用 /../ 提升一级

似乎无法弄清楚这一点。

4

1 回答 1

0

我遇到了同样的问题并花了很多天的时间进行试验,我最终通过在目的地使用这种格式来修复它

upload_destination: ../web/images/profiles
于 2017-10-18T06:23:22.073 回答