Я делаю небольшой сайт-портфолио с Symfony. Все работает на моем локальном компьютере, я могу загружать элементы портфолио и т.д.
Однако на моем дроплете (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 не является допустимым путем, кажется, он буквально копирует путь, поскольку корневой каталог является каталогом приложения? вместо того, чтобы подняться на один уровень с помощью /../
Кажется, я не могу понять это.
/var/www/wsly/www/app/../web/images/portfolio
звучит для меня совершенно правильно. Что происходит, когда вы входите через терминал и вводитеls -l /var/www/wsly/www/app/../web/images/portfolio
? - person Ben Hillier   schedule 20.09.2016