|
|
前のページ 1 2
|
|
インストール |
少し前置きが長くなりましたが、早速、XML機能を使用してみましょう。XML関連の機能は、XML処理用の機能を実装したライブラリlibxml2を使用しています。libxml2は、Daniel Veillard氏らが開発したオープンソースのライブラリで、Gnomeの標準ライブラリとして採用されています。PHP4では、SAXの実装としてexpat(http://expat.sourceforge.net/)、DOMの実装としてlibxml2を使用していましたが、PHP5ではともにlibxml2を使用しています。SimpleXMLも内部的にDOMツリーを構築しており、libxml2の機能を利用しています。
libxml2は、最近のLinuxディストリビューションには最初からインストールされていたり、RPMなどのパッケージが用意されていたりするので、インストールは容易です。本稿では、ソースファイルからインストールする手順を示します。なお、ここではインストール環境としてLinux(Fedora Core 1)を想定しています。
|
libxml2のインストール
|
libxml2の最新版(執筆時点では2.6.10)のアーカイブ(libxml2-2.6.10.tar.gz)をhttp://www.xmlsoft.org/から入手します。なお、libxml2はiconv関数により文字エンコーディング変換を行うので、システムの標準ライブラリがiconv関数をサポートしていない場合は、libiconvライブラリもインストールしておきます。libiconvはhttp://www.gnu.org/software/libiconv/から入手可能です。
libxml2をインストールするには、アーカイブを展開し、configureを実行した後、構築、インストールします。
|
# tar xzvf libxml2-2.6.10.tar.gz
# cd libxml2-2.6.10
# ./configure
# make
# make install |
|
PHPへXMLサポートを組み込む
|
PHPでは、標準でSAX、DOM、SimpleXMLの3種類のAPIが組み込まれます。このため、普通にPHPをインストールするだけで、特にXMLサポート用の構築オプションは必要ありません。ただし、システムによってはインストールされたlibxml2のパスが見つからずエラーとなったり、複数のバージョンが混在する可能性があります。この場合は、構築オプション--with-libxml-dir=DIRをconfigureスクリプトに指定します。たとえば、/usr/local以下にlibxml2をインストールしている場合は次のようになります。
|
# tar xzvf php5.0.0.tar.gz
# cd php-5.0.0
# ./configure --with-libxml -dir=/usr/local [その他の構築オプション]
# make
# make install |
この例では、CGI版とCLI版のPHPが構築・インストールされます。Apacheモジュール版などをインストールする場合は、必要な構築オプションを指定します。XMLサポートが正常に組み込まれたことを確認するには、コマンドプロンプトでCLI版PHPにオプション-mを付けて実行します。
|
# php -m |
これにより、組み込まれた拡張モジュールのリストが表示されます。この中にlibxml、dom、xml、SimpleXMLが含まれていれば、正常に組み込まれていることが確認できます。
同様に次のようなスクリプト(test.php)を作成し、CLI版PHPやWebサーバ経由でモジュール版PHPで実行しても、組み込み状況を確認することができます。
|
<?php
phpinfo();
?> |
このスクリプトの出力内容の一部を図1に示します(大量の出力が行われるため、XML関連部分のみを抽出して示しています)。
|
図1:phpinfo()の出力(XML関連のみ抽出)
|
domはDOMモジュール、xmlはSAXモジュール、SimpleXMLはSimpleXMLモジュールを表します。libxmlは、libxml2へのインターフェイス用の共通モジュールで直接ユーザが使うことはありませんが、DOMなどの実装により内部的に使用されます。
|
前のページ 1 2
|
|
|
|
著者プロフィール
著者:廣川 類
PHPと出会ってから早9年が過ぎ、常に進化し続けるその姿を日々楽しんでいる。PHPコミュニティ活動にかけられる時間が年々減ってきているのが気がかり。
|
|
|
|