2016-09-20 9 views
0

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)"}

を与えますimagesフォルダ全体が777(私はchmod -R 777を使用しています)に設定されているので、実際にはそのアクセス権は問題ではなく、パスが間違っているとは思われません。わかりませんがapp /../ webは有効なパスではありません。文字通りルートディレクトリがappディレクトリなのでパスをコピーしているようです。 /../

これを理解することはできません。

+0

'の/var/www/wsly/www/app/../web/imagesをこのフォーマットを使って、それを修正 を試し、多くの日々を過ごしました/ portfolio'は私にとって完全に有効です。ターミナルからログインし、 'ls -l/var/www/wsly/www/app /../ web/images/portfolio'と入力するとどうなりますか? –

+0

あなたはWebサーバーをSymfonyインストールとは別のユーザーとして実行しますか?その場合、Webユーザーはファイルパス全体にアクセスする必要があります。 –

+0

@BenHillierフォルダー内のすべてのイメージのリストを取得します(これは、gitを使用してgitignoreに追加するのを忘れてしまったため、devのものです。 私が間違っていないと、すべてがrootユーザーで実行されます。 – wesvb

答えて

0

私は同じ問題を持っていたと私は最終的に目的地に

upload_destination: ../web/images/profiles 
関連する問題