回答編集履歴

1

回答追記

2017/02/13 01:56

投稿

Y.H.
Y.H.

スコア7914

test CHANGED
@@ -1,3 +1,55 @@
1
+ > ログを確認したところ、
2
+
3
+ > shutdown - Cannot modify header information - headers already sent by
4
+
5
+ > と表示されておりました。
6
+
7
+
8
+
9
+ レスポンスボディーが1文字(1byte)でも出力された後にレスポンスヘッダーを出力した場合に`headers already sent by ....`エラーとなります。
10
+
11
+ ソースファイル先頭が`<?php`(ショートタグが有効な場合は `<?`)で始まっていない場合はレスポンスボディーとして出力されてしまいます。
12
+
13
+ 当然ですが`include`/`include_once`/`require`/`require_once`で読み込んでいるファイルについても全てについてこの条件が適用されます。
14
+
15
+
16
+
17
+ `echo`/`print`/`var_dump()` などで何か出力している。
18
+
19
+ 以下のように`?>`で閉じた後に何か出力している(ソースコード上の改行コードも含まれます)
20
+
21
+
22
+
23
+ ```php
24
+
25
+ <?php
26
+
27
+ ?>
28
+
29
+ <?php
30
+
31
+ header('x-foo:var');
32
+
33
+ ?>
34
+
35
+ ```
36
+
37
+
38
+
39
+ 開発環境(ソースファイルの作成環境)にWindowsを使用している場合、
40
+
41
+ よくやるのがUTF-8(BOM付)でソースファイルを保存してしまっている事があります。
42
+
43
+ (`<?`の前にあるBOM2Byteがレスポンスボディーとして出力されるため)
44
+
45
+ メモ帳(norepad.exe)でファイルを保存するとBOM付になります。
46
+
47
+
48
+
49
+ ----
50
+
51
+
52
+
1
53
  > 真っ白になっていて
2
54
 
3
55