• ベストアンサー

PHPの吐くデバッグ行番号の見方を教えてください。

PHP入門者です。 まだ自分でスクリプト開発はできませんが、 サンプルスクリプトを改造しながら自習中です。 デバッグエラー表示で、このような行番号が出てくれるのは とても助かるんですが、 PHP Error Message Warning: Invalid argument supplied for foreach() in /home/user/public_html/include.php on line 127 この場合127行目を探しても該当しそうな間違いが発見できなくて 悩んでいます。 どうも、少しずつ行番号表示が実際のスクリプトファイルとずれて いることに薄々気づき始めました。 実際のスクリプトにはコメントとか色々入ってますから、 多分コメントは引き算した行数なのかな?とは思ってるんですが。 それでも間違えた心当たりの無い行に行き着いたりします。 デバッグが指示してくれる行番号とは、具体的にどの行を指摘して くれていることになりますでしょうか? こんなレベルの私ですが、どうかお助けください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

スクリプトの編集には何をお使いでしょうか? おそらく編集しているソフトは自動折り返しも 行数としてカウントしており、その分でずれて いるのだとおもいます。

eddie_vinson
質問者

補足

さっそくにおありがとうございます。 エディタは秀丸を使っています。 >おそらく編集しているソフトは自動折り返しも >行数としてカウントしており、その分でずれて >いるのだとおもいます。 うわ!よく見たらまったくその通りでした(汗) 秀丸を折り返しなしにする方法を探して見ます。

その他の回答 (3)

回答No.4

>秀丸を折り返しなしにする方法を探して見ます。 秀丸でしたら メニューの「その他」→「ファイルタイプ別の設定」で 「体制」の「詳細」の 「行番号の計算方法」を「エディタ的」に 変更すれば号番号を折り返しを無視して計算してくれます。 さらに折り返しを無しにしたい場合は 「体制」の「折り返し」を 「最大」にするか「固定」で「2000」に 設定すれば折り返しはほとんどなくなります バージョンによって若干異なりますのでご注意下さい。

eddie_vinson
質問者

お礼

本当にありがとうございます。 おかげさまをもちまして、秀丸の設定がよくわかりました。

  • koke29
  • ベストアンサー率58% (114/196)
回答No.3

}の閉じ忘れだと、コードの最後の行番号で表示されたりしますよ 表示している行番号に思い当たるミスが無ければ、手前のコードで ;や}の確認、そこにも無かったら、もっと前の}を確認って感じです 基本的にはエラーの示している行番号は信用してよいはずですが 閉じ忘れだとどこで閉じるべきかは判断出来ないので、最終行で エラーを出すんじゃないかなーと思います

eddie_vinson
質問者

お礼

なるほど! カッコの閉じ忘れミスがあると、行番号は狂ってしまうんですね。 これはかなり心当たりありそうなので、徹底的にローラー作戦で見直してみます。 本当にありがとうございます。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

まぁよくあるのは1行前に「;」をつけ忘れているとか・・・ とにかくその行に係ることですのでよく見ていればわかります

eddie_vinson
質問者

お礼

ご親切本当にありがとうございます。 基本的にPHPのデバッグが吐く行番号は、コメントとかも含めた トータルの行番号なんですね。 必死でがんばってみます!

関連するQ&A