PHP 5.1.3に致命的な不具合が発見される 40
ストーリー by Masafumi Otsune
リリース直後のPHPには良く有る事 部門より
リリース直後のPHPには良く有る事 部門より
あるAnonymous Coward曰く、"2006年5月2日にリリースされたPHP 5.1.3に致命的な不具合が報告され、現在PHPのトップページからリリースの案内が削除されている。(現時点では)ダウンロードページに5.1.3へのリンクが掲載されたままだが、CVSには修正が入っており、正式なリリースは現在準備中とのこと。また、リンクは作成されていないが直接5.1.4のダウンロードページにアクセスするとソースコードのみ入手することは可能。もっとも、正式なリリースではないのでご利用は計画的に。
詳細はphp|architect誌のblogでも解説されているが、multi-partフォームでPOSTされたデータが、ネストされたおかしな配列として$_POSTに格納されてしまうという不具合が発生している模様。5.1.3にアップグレードしたところphpMyAdminで利用されているmulti-partフォームが正しく動作しなくなったという報告が多数寄せられており、他のアプリケーションでも同様の不具合が発生する可能性が高い。"
PHP 5.1.4がリリースされています。 (スコア:3, 参考になる)
Release Announcement [php.net]
ChangeLog [php.net]
$_POSTのバグの他にfastcgi sapiが動作しなくなるバグも修正されている模様(PHPは全然知らないので同じ事を指しているのならごめんなさい)。
またか。 (スコア:0, 興味深い)
ころころ仕様変わるし。
Re:またか。 (スコア:3, 興味深い)
これだけバグや仕様変更に悩まされながらもphpはまだまだ広がる。
いかにサーバーサイドの簡単なスクリプト言語が望まれていたか。
Perlでモツモツと書く層でなく、
なんとなくphpで書けてしまうような層がいかに望まれているか、ということ。
根にあるのは「とにかく動くものを作ってくれ。簡単に」というニーズで
どうもこの分野におけるスキルというものが軽視されてるような気がしてならん。
別にphpがダメというつもりはないけど。
Re:またか。 (スコア:2, すばらしい洞察)
というか、Perlからの移行組みが大半なので
関数やクラスって何って人が多そう
PHP使いだからIDだけどクラスが基本です。
Re:またか。 (スコア:1)
> 関数やクラスって何って人が多そう
Perl にもありますよね。
subroutine とか Perl Module とか。
non OO 風に Module を書いたら、subroutine と呼び、
OO 風に Module を書いたら method と呼ぶ。
実体はどちらも subroutine ですけど。
Re:またか。 (スコア:1)
自分の周りだけかもしれませんが、Perl4時代のcgiスクリプトからの移行組みが多い気がします。
むやみにechoするとか、
DBのクエリーとかをHTMLの間に書き込むとか、
これじゃテストできなくて品質が確保できません。
Re:またか。 (スコア:1)
>関数やクラスって何って人が多そう
ここまであしざまに言えれば大したものだ。
classと言えばJavaしか浮かばない香具師には
そう見えるのかもしれんが。
知る限り関数もクラスもうまく使えるヤツって
phpマンセーくんたちよりPerl移行組が多い。
ま、あくまで知る限りの話だが、上コメントほど乱暴な話に
茶々入れるには十分だわな。
Re:またか。 (スコア:0)
Perl から PHP に移った、と理解するのが
適当でしょう。
そうでなければいっときの Perl CGI のレベルの
あまりの低さと、Perl 移行組の方がクラスをうまく
使えるという話とうまく整合しませんよ。
Re:またか。 (スコア:0)
PHP = Personal HomePage tools
ですから比較の対象じゃないんじゃないかと。
問題ありません。 (スコア:0, 余計なもの)
大丈夫です。大半のPHP開発者のクオリティはもっと低いから。
>ころころ仕様変わるし。
大丈夫です。大半の開発者は仕様や保守なんて気にしてないから。
#少しは気にして欲しいAC。
Re:問題ありません。 (スコア:1, すばらしい洞察)
「余計なもの」なのは興味深いですね。
Re:問題ありません。 (スコア:1, 参考になる)
Re:問題ありません。 (スコア:1, おもしろおかしい)
スラッシュドットジャパンは公権力だったのですね。
Re:問題ありません。 (スコア:0, 参考になる)
#どうでもいいことなのでAC
Re:問題ありません。 (スコア:1)
「日本のPHP開発者」ならいくらか同意。
「日本のフリーPHPスクリプト」はもっと同意。
「日本のフリーperlスクリプト」は、、悪貨の鋳造元は良貨のそれより熱心である [66.102.7.104]んだろうな。
# かつて一翼を担っていたのでID
Re:またか。 (スコア:0)
ソースのメリットの1つと言われていますが、PHP絡みの
不具合を自分で直したという話はあまり聞かないですね。
そうでもないですよ? (スコア:2, 興味深い)
巷ではmb_str()とかmb_string()といった非標準関数がゴロゴロしていました。
# 当時文献を探せば他にもイロイロ出てくるでしょう
# これは修正ではなく、創作なので話題がズレてるかなw
また、当時私の在籍していた開発現場では、
かの有名なjcode.plやnkfのバグを見抜いてるデベロッパも居て、
利用しないのがデフォ(別途自作の相当ライブラリが存在してる)だったと記憶してます。
# 企業に在籍してると迂闊に公開できない場面があるのはお約束ですが
# 今回のphpの場合は発見~対応までスピーディーだったので
# 比較的幸運だったと言えるでしょう
そうは言っても、phpのおNewは地雷なイメージ強いですし、
「鶏が先か卵が先か」ではないですが、
ナニゆえ毎度のようにこの程度のクォリティでリリースするのか疑問です。
Re:そうでもないですよ? (スコア:1, すばらしい洞察)
Re:そうでもないですよ? (スコア:1, すばらしい洞察)
> 利用しないのがデフォ(別途自作の相当ライブラリが存在してる)だったと記憶してます。
バグがあったときに、ソースを見て原因を追求する人は少ないのか。
なんつーか、せっかくのソースが台無しだな。
Re:そうでもないですよ? (スコア:1, すばらしい洞察)
自分以外に使ってもらう必要がないのなら、適当に自分で直しちゃうでしょうけど、自分が配布していない物のバグフィックスまでやろうとしたら、いったいどれだけ負荷がかかるのか、、、
Re:そうでもないですよ? (スコア:0)
こっちの方が大変だと思う。
# ネタにプラモデすんなよなぁ。
Re:そうでもないですよ? (スコア:0)
Re:そうでもないですよ? (スコア:2, おもしろおかしい)
Re:またか。 (スコア:1, 興味深い)
自分が困らなかったら直さないし。
Re:またか。 (スコア:1, 興味深い)
PHPのオブジェクト管理部分とかは大変かもしれないですけど、普通の関数程度なら結構簡単に修正できますよ
そういう意味でも今回のは致命的なのかも。
Re:そりゃ大変だな (スコア:1, 興味深い)
という事を考えて今後のクオリティアップにも力を入れていただけるとうれしいですよね。
無料で配布されているだけにこれを実行するのはとても辛くて大変だと思います。
開発チームの方々、応援してますのでがんばってください~(^^;
Re:そりゃ大変だな (スコア:3, 参考になる)
が実行されているかは甚だ怪しいですが
# 仮にされていたとしても Linux/i386 のみだと思います。
# Linux では make test が全部通っても FreeBSD や Mac OS X ではそうでなかったりするので。
はちゃんとされていると思います。PHP の tarball にはかなりの量のテストケースが含まれており、新しいバージョンが出る際にはちゃんと修正箇所のテストケースが追加されてますから。
正式リリースで今回のような事態が起こるのは、昔は php.net のトップページでも RC のアナウンスをしていたのに、最近は開発者向けの ML でしかアナウンスしていないことが大きな原因ではないかと思います。
あと余談になりますが make で "incompatible pointer type" を連発しまくりなのは、正直萎える。
Re:そりゃ大変だな (スコア:1)
Re:そりゃ大変だな (スコア:1)
あってくれると嬉しいのですが。
Re:そりゃ大変だな (スコア:1, 興味深い)
最近はディストリビューション提供のパッケージから入れるようにしてます。セキュリティFixのBackportに若干時間が掛かることもありますが、PHPのマイナーバージョンアップほど互換性に気を遣わなくていいので。
Re:本当のプログラマーは PHP を使わない (スコア:2, 参考になる)
多分使いどころの選択が「致命的な不具合」なんじゃないでしょうか?
本当のプログラマーは PHP を使わない…で済む? (スコア:2, 興味深い)
PythonやRuby, Perl, Java等で書かれたものは少なく、
ホスティングの都合などもあって、結局PHPを選択せざるを得ない状況なのがつらいですね。
Re:本当のプログラマーは PHP を使わない…で済む? (スコア:1, すばらしい洞察)
Re:本当のプログラマーは PHP を使わない…で済む? (スコア:0)
Re:忘れ物をお届けにまいりました (スコア:0)