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する必要がある場合も存在するということですね!

日本発!ECオープンプラットフォーム「EC-CUBE」 EC-CUBEゴールドパートナー EC-CUBEは株式会社イーシーキューブの商標です

EC-CUBEカスタマイズに関するお問い合わせはこちら


    [重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。

    EC-CUBEバージョンアップ