PHPでエラー「Call to undefined function domxml_open_mem

PHPで構築したアプリケーションを他サーバに移行したところ「Call to undefined function domxml_open_mem()」が出たのでその対応を行った。

「Call to undefined function domxml_open_mem()」というエラーはPHP5系ではサポートされていないため出たようだ。

 PHPのエラー


対応策としては利用している関数「domxml_open_mem()」の使い方を変える。
PHP5から違う関数があるため、それに差し替える。

$xml = file_get_contents( 取得先のパス );
if (!$dom = domxml_open_mem( $xml, DOMXML_LOAD_PARSING, $error )) {




if ( !$dom = simplexml_load_file( 取得先のパス ) ) {



以前は取得先のXMLを一度「file_get_contents()」で読み込みを行っていたが、「simplexml_load_file()」を使うと直接読み込みができる。


その他、XMLの操作系も変わっていたので合わせて対応する。

□エラー内容
  Fatal error: Call to a member function document_element() on a non-object in


□対応内容
 $root = $dom->document_element();
 $node = $root->first_child();

  ↓

 $dom = new DOMDocument(); //DOMドキュメントインスタンスを生成
 $dom->load( $dom_url ); //XML読込

 $node = $dom->firstChild;


ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

この記事へのトラックバック