PHP 5.0.1 リリース 7
ストーリー by yoosee
使っている人はチェックを忘れずに 部門より
使っている人はチェックを忘れずに 部門より
xa曰く、"2004-08-12 PHP 5.0.1 Released! とのアナウンスが出ています。今回は 5.0.0 からのメンテナンスリリースで、ChangeLog には「MYSQL, XSLT, win32, socket, .NET, soap, WSDL, sqlite」や、幾つかのクラス操作などに関しての Bug Fix 、改訂されたインストールドキュメント等が含まれているようです。
タレコミ人は、「ChangeLog」の不明な単語を調べる前に「download, make」のほうを選ぶという未熟者なので、識者の方々の真っ当な概説を期待しています。
PHP4.x な方は、PHP 4.3.9RC1 released! もどうぞご確認(心の準備)を。"
PHPは恐ろしい. (スコア:2)
>Changed destructor mechanism so that destructors are called prior to request shutdown. (Marcus)
とあるんですが,これ見てびっくりしました.
昔からPHPのエンジンには,とんでもないバグ(*1)が多いのですが
デストラクタが起動される仕組みなんてのは
スクリプトエンジンの最重要な機能の一つなわけで,正常に動いて当然な部分です.
そんな肝心な部分に,PHP5.0.0をリリースした後から修正(Fixed)でなく変更(changed)が入るなんて…
相変わらずPHPは恐ろしいです.
(*1)たとえば,PHP-4.2.2では
GETやPOSTのデータが一部失われるという恐ろしいバグが登場しています.
しかも困ったことに,PHP-4.2系のオフィシャルなリリースは
PHP-4.2.2で止まっています.最低ー.
Re:PHPは恐ろしい. (スコア:1)
>スクリプトエンジンの最重要な機能の一つなわけで,正常に動いて当然な部分です.
「動いて欲しい」のは正にその通りなのですが、
「動いて当然(動いてくれる)」かどうかは、ちょっと微妙な問題だそうですよ、デストラクタって。
あ。Object(単なるメモリの塊)が解放されるかどうかっていう問題は、カタがついています。
#MarkSweapなら問題なしとか、参照係数法だと特殊な細工しないと循環参照でヘタるとか。
問題なのは、Objectに付随する外部リソース(FILEポインタとかかな)の解放タイミングを具体的に司る、
「解放のときに自動的に呼んでもらえる(はずの)ファイナライザ(Java語でいえば)」を呼ぶタイミングなんだそうです。
これの適切なタイミングを(自動的に)決めるってのは、なんか難しい問題なんだそうで。
…ということでしたよね、たしか?>Ruby界隈
んー。Unixでいう古典的な(フィルタっぽい)プログラムだと
リソースを解放し損ねても、最悪でもプロセス落ちるときに片付けてくれる、とも言いますね。
が、
そういやPHPとかは鯖で常駐するタイプでしたっけか。
ちょっと辛いかな…
Re:PHPは恐ろしい. (スコア:0)
> スクリプトエンジンの最重要な機能の一つなわけで,正常に動いて当然な部分です.
べつに最重要とはいえないでしょ。
そもそもプログラマーはデストラクタ起動タイミングに依存したコードはなんて書くべきではないからね。(オブジェクト以外の)リソースは明示的に開放するべき。
使っている人はチェックを忘れずに 部門より. (スコア:1, すばらしい洞察)
↓
<A HREF="http://www.php.net/ChangeLog-5.php#5.0.1">ChangeLog</A>
タグもね……>チェック</A></A>
Re:使っている人はチェックを忘れずに 部門より. (スコア:1)
Re:使っている人はチェックを忘れずに 部門より. (スコア:0)
Re:使っている人はチェックを忘れずに 部門より. (スコア:0)
#まあ#607336 [srad.jp]にある、関連リンクの壊れっぷりがきっかけではあるんですけど。