symfonyで小さなポートフォリオWebサイトを作っています。すべては私のローカルマシン上で動作しますが、私はポートフォリオ品目をアップロードすることができ、などなどSymfony3ファイルのアップロードパスが運用環境で動作しない
を私の滴でしかし(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)"}
これを理解することはできません。
'の/var/www/wsly/www/app/../web/imagesをこのフォーマットを使って、それを修正 を試し、多くの日々を過ごしました/ portfolio'は私にとって完全に有効です。ターミナルからログインし、 'ls -l/var/www/wsly/www/app /../ web/images/portfolio'と入力するとどうなりますか? –
あなたはWebサーバーをSymfonyインストールとは別のユーザーとして実行しますか?その場合、Webユーザーはファイルパス全体にアクセスする必要があります。 –
@BenHillierフォルダー内のすべてのイメージのリストを取得します(これは、gitを使用してgitignoreに追加するのを忘れてしまったため、devのものです。 私が間違っていないと、すべてがrootユーザーで実行されます。 – wesvb