[PHP-users 26304] Re: PHP 4.4.0 Release Announcement

YOSHIMURA Keitaro ramsy @ ramix.jp
2005年 7月 27日 (水) 18:20:48 JST


らむじぃです。

# づらづらと改行無しで続けるのではなく、適時改行を入れて欲しいです…

> PHP4.4.0は内部構造がかなり変化しているようで、メモリリークの原因は、外
> 部バイナリモジュールとの連携(値の渡し方?)、ports/php4-extensionのコ
> ンパイル結果?と考えました。
http://sourceforge.jp/tracker/index.php?func=detail&aid=6423&group_id=1343&atid=5092
うちでもphp4.4.0の環境作りましたので、Ethnaの対策パッチを作成しておきま
した。

apacheのログでは
   2 [error] PHP Notice:  Only variable references should be returned by reference in /path/to/lib/Ethna-0.1.5/class/Ethna_ClassFactory.php on line 125
4110 [error] PHP Notice: Only variable references should be returned by reference in /path/to/lib/Ethna-0.1.5/class/Ethna_ClassFactory.php on line 149
4110 [error] PHP Notice:  Only variable references should be returned by reference in /path/to/lib/Ethna-0.1.5/class/Ethna_Logger.php on line 350
とすさまじい数のエラー(httpdからみると、ですが)が記録されており、うちの
環境ではそのままSegV(11)してしまいました。

直接の原因は参照返しの関数でnewしたオブジェクトをそのままreturnしている
ことにあります。とりあえずバッファ変数に入れてあげることで対応するしかな
いです。

# この仕様変更は間違いだと思うんだけどなぁ。

-- 
<|> YOSHIMURA Keitaro/ramsy
<|> ramsy @ ramix.jp
<|> http://ramix.jp/~ramsy/



PHP-users メーリングリストの案内