PHP スクリプトを実行したところ、以下の様なエラーが表示されました。

Warning: Cannot modify header information - headers already sent by
(output started at /some/file.php:12) in /some/file.php on line 23

エラー行では header()setcookie() を行っています。

エラーの理由と、どうやって解決したらいいのかを教えてください。

この質問は以下の翻訳です。
Stack Overflow - How to fix “Headers already sent” error in PHP @Moses89