[PHP-users 9636] Re: ファイルの存在確認をしたい

@ Edwin php-users@php.gr.jp
Thu, 29 Aug 2002 16:19:22 +0000


Yasuo Ohgakiさんwrote:

># 蛇足ですが、もしWriting Solid PHP Codeという本
># あればE_ALLでコーディングしましょう、と書いてあると
># 思います。E_ALLでエラーが発生しないように開発する
># 事は安全なWebアプリケーションを作る上で非常に重要です。

確かに、努力は必要です。が、今、現在、(今まで)人間が作った完璧なものってあ
りますか?「エラーが発生しないように」開発しても、いつか、どこかで、エラーが
出てくると思います。また、(1)「バグ」というものがあるのではないでしょう
か?(2)自分がどんな努力をしても、サーバーや回線や他のソフト(アプリケー
ション)の問題があったら、エラーが発生します。(例:自分で作ったPHPアプリ
ケーションが他のFTPサーバーやDBサーバーやWeb Applicationサーバーに接続してい
る間に急に問題が発生したら、エラーが発生するのではないでしょうか?)

PHPの開発者たちはなぜ「@」エラー制御オペレータを使えるようにPHPを開発したの
ですか?また、php.iniの中にこういう「注意書き」もあります:

<snip>
; Print out errors (as a part of the output).  For production web sites,
; you're strongly encouraged to turn this feature off, and use error 
logging
; instead (see below).  Keeping display_errors enabled on a production web 
site
; may reveal security information to end users, such as file paths on your 
Web
; server, your database schema or other information.
display_errors = Off
</snip>

なぜ「エラーを表示しないようにOFFにしてください」という提案が書いてあるので
すか?考えられる理由ってたくさんありますが、ひとつだけ言いたいと思います。
「完璧なもの」って*私*は作りませんから。

PHPの開発者たちがエラーを表示しない方法を与えてくれたことはありがたいことで
す。

結局は使い方次第ですね・・・ :)

- E

>
>大垣です。
>
>MAO wrote:
> > MAOです。
> >
> >
> >>「@」マークをgetimagesizeの前に入れればエラーは出ないと思います。
> >>
> >>  ->  @getimagesize
> >
> > この方法で解決いたしました。
> > @でエラーを無視するんですね。
> >
>
>エラー制御オペレータを使うと幾つか問題があります。
>
>1. 必要なエラーも隠してしまいバグの発見が難しくなる
>2. User defiend error handlerを作った場合、
>安定したエラー処理がほとんど不可能。
>
>2.の理由はエラーハンドラーを定義して@オペレータを
>使うと理由が解ります。PHPのエラーメッセージは結構
>頻繁に変わっている事もあり、@でエラーを隠すと面倒
>です。
>
>という事で、私は@はできるだけ利用しない事をお進め
>します。たぶん、本の著者さんも同じ理由で解説していな
>いのでは? # そう願いたい :)
>
>再利用するライブラリには使わない方が良いですが、
>絶対使ってはならない、という物でもないのでトレードオフ
>が受け入れられるなら@を使っても問題ないと思います。
>
>無いとは思いますが、もし@を使わないとどうしようもない
>モジュール関数がある場合はレポートして頂ければ直します。
>
># 蛇足ですが、もしWriting Solid PHP Codeという本
># あればE_ALLでコーディングしましょう、と書いてあると
># 思います。E_ALLでエラーが発生しないように開発する
># 事は安全なWebアプリケーションを作る上で非常に重要です。
>
>--
>Yasuo Ohgaki
>
>
>_______________________________________________
>PHP-users mailing list
>PHP-users@php.gr.jp
>http://ns1.php.gr.jp/mailman/listinfo/php-users




_________________________________________________________________
ハイセンスな商品を気軽に購入 MSN ショッピング http://shopping.msn.co.jp/