LogicException in StreamedResponse.php line 124: The content cannot be set on a StreamedResponse instance.が発生しましたので共有いたします。

StreamedResponseにはcontentを設定できません!\Symfony\Component\HttpFoundation\StreamedResponseとはCSVダウンロードなどファイルのダウンロードの際に使用されるResponseの一種です。

StreamedResponse

通常のページでは\Symfony\Component\HttpFoundation\Responseという汎用レスポンスクラスが使用されています。

StreamedResponseの場合は、レスポンスの内容はバッファにたまっていきますので、直接$response->setContent($hoge)というようなことはできません。

EC_CUBEの場合、これが良く起こるのは間違いなくプラグインからの干渉です。プラグインではページへの表示内容を変更するために頻繁にresponse->setContentしますがStreamedResponseかどうかチェックしてからsetContentする必要がある場合も存在するということですね!

関連するカスタマイズ

Doctorineで設定できるフィールドタイプ... EC-CUBE3が採用しているSymfonyの標準ORM、Doctorineで設定できるフィールドタイプをまとめました。 EC-CUBE3で開発するならこれはもう覚えちゃっても良いかもしれませんね。 dcm.ymlやマイグレーションで頻繁に使いますからね。 stringやintegerのよ...
Your proxy directory “/var/www/src/Eccube/..... SSHからマイグレーションなどapp/consoleのコマンドを実行しようとした際に、ドクトリンのキャッシュファイルを書き込めないために発生するエラーです。 通常app/cache/doctrine/proxiesは所有者もグループもapacheとなるため、コマンドラインから他のユーザ...
Twig内で文字列の一部分を切り出す方法 Slice使用... twigテンプレート内で文字列の一部を切り出したい時があります。 そんな時はsliceフィルタを使用してtwig内だけで切り出しを実行することが可能です。 2文字目以降を切り出す(1文字目を削除) sliceフィルタの第1引数は開始位置です。 sliceフィルタにはシンタックスシ...
メーカープラグインのメーカー一覧を取得する方法... メーカープラグインを使用される方が多いと思います。 メーカーの一覧を表示したい場合は次のようにメーカープラグインのレポジトリクラスでfindByすることで取得が可能です。 Controllerなどで使える実際のコード 全件取得するのでfindByの第1引数は空の配列、第2引数はソート順...