[PHP-users 2392] Re: domxml
YAMADA
php-users@php.gr.jp
Tue, 02 Oct 2001 17:02:21 +0900
山田@xmldomの質問者です
Yasuo Ohgaki さんは書きました:
>YAMADA wrote:
>> php-4.0.6 で、domxml を実験していたのですが、どうも、メモリを開放する関数が見つかりません。
>
>PHPをWebのサーバーサイドスクリプトとして利用している程度であれば、メモリ
>の開放は必要ありませんが、大きなデータを扱っていて途中で開放する必要があ
>るのであればunsetを使えば開放できます。(PHP4はReference countを使って
>ガーベッジコレクションをしているので、すぐに開放されない場合もあります)
>
>$doc = new DomDocument;
>$node = new DomNode;
>
>// do something useful
>
>unset($node);
>unset($doc);
>
>DOMXMLモジュールが普通にリソース管理をしていれば(しているはずですが)、
>unsetで開放すると思います。
ありがとうございます。さっそくやってみました。
http://search.net-newbie.com/php/ref.domxml.html を参照しています。
というソースは、以下です。
ちょっと気軽にBBSを作って、全文をxml に保存してsablotron で形式変換する実験をしていたのですが、
Linux redhat 7.1 の top で見ていると、あいかわらず1アクセスするたびに、
3899 nobody 9 0 49156 48M 3016 S 0.0 9.5 0:01 httpd
の httpd が10Mずつ増えてしまいます。(;_;)
ファイルに保存している xmlドキュメントは、17kbくらいなんですが。
domxml のソースをながめていたら、domxml_unlink_node()があったので、
かたっぱしからノードに適用してみたのですが、効果なさそうです。
いろいろ試してみます。
# 原因は、別にあるのかな?
--- ソース
$new_dom = xmldoc(XMLBBS);
$new_root = $new_dom->root();
:
unset($new_dom);