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

駒走和之 komabashiri @ links1.co.jp
2005年 7月 14日 (木) 16:33:01 JST


三村様

ありがとうございます。
> この意味は判っていますよね?
承知しております。
> Errorじゃないので、気にしないのならE_NOTICEを表示しないようにすればどうで
しょう?

php.iniにて
error_reporting  =  E_ALL
にしておりました。

Ethnaのことなので、PHPメーリングリストに詳細を書くのは遠慮したのですが、

Notice: Only variable references should be returned by reference in
/usr/local/share/Ethna/class/Ethna_Logger.php on line 350

上記のメッセージが大量に吐き出され(約4300個)、最後に

Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to
allocate 38 bytes) in /usr/local/share/Ethna/class/Ethna_ClassFactory.php on
line 149

で止まります。

php.iniにて
memory_limit = 8M
を少しずつあげていったのですが、解決できず42MまであげたところでApacheがス
テータスを返さなくなりました。(プロセスは生きていました。)

http://www.php.net/manual/ja/language.references.php

をよく読んだのですが、あまり理解できていません。
php-4.3.11で動くコードがPHP4.4.0で動かなくなるということは

>PHPのリファンレスに関連してメモリ領域が破壊さ
>れる、という重大な問題を解決しています。リファレンスを誤った方法で使用し
>ていると、(常に明確な問題となって表にでるわけではありませんが)

上記のことをさしているのでしょうか?

>PHPの4.4.0がリリースされましたが、日経Linux(ネット版)に廣川さんが

>「なお,PHP 5ではこの問題は修正済みである。PHP 4.3.xとPHP 4.4.0の間ではバイ
ナ
>リレベルの互換性が失われているため,拡張モジュール(エクステンション)に関し
ては,
>再コンパイルが必要である。ただし,PHPスクリプトに関しては変更不要である。」
>とお書きになっています。

非常に高度な内容になっているのでどこに問題があるのか検討がつきません。
疑いだせば,FreeBSD/portsのphp-extensionのコンパイルも気になってきました。

恐縮ですがご教授のほどよろしくお願いいたします。




----- Original Message ----- 
From: "Shigeki Mimura" <mimu @ telepass.co.jp>
To: <php-users @ php.gr.jp>; <komabashiri @ links1.co.jp>
Sent: Thursday, July 14, 2005 3:31 PM
Subject: Re: [PHP-users 26156] Re: PHP 4.4.0 Release Announcement


> 三村です
>
> komabashiri> 更新を行った後、PHPをインストールしますとPHP4.4.0に更新されて
おりました。
> komabashiri> まったく同様の手順同様の、設定ファイルにてEthnaを導入しました
ところ、こちら
> komabashiri> で話題の
> komabashiri> > -> PHP Notice:  Only variable references should be returned
by reference
> komabashiri> にぶち当たってしまいました。
> komabashiri>
>
> この意味は判っていますよね?
> Warningが出てるだけなんですけど。
> それで、このwarningが出るようになったという話は、藤本さんのメールにも書い
てあったと思います。
> Ethnaの事は全然知りませんが、Ethnaの中でreferenceで渡していながらreference
で返していない部分があるのでしょうね。
> Errorじゃないので、気にしないのならE_NOTICEを表示しないようにすればどうで
しょう?
>



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