| ||||||||
| 前のページ 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 | ||||||||
| 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 | ||||||||
この例では、CGI版とCLI版のPHPが構築・インストールされます。Apacheモジュール版などをインストールする場合は、必要な構築オプションを指定します。XMLサポートが正常に組み込まれたことを確認するには、コマンドプロンプトでCLI版PHPにオプション-mを付けて実行します。 | ||||||||
# php -m | ||||||||
これにより、組み込まれた拡張モジュールのリストが表示されます。この中にlibxml、dom、xml、SimpleXMLが含まれていれば、正常に組み込まれていることが確認できます。 同様に次のようなスクリプト(test.php)を作成し、CLI版PHPやWebサーバ経由でモジュール版PHPで実行しても、組み込み状況を確認することができます。 | ||||||||
<?php | ||||||||
このスクリプトの出力内容の一部を図1に示します(大量の出力が行われるため、XML関連部分のみを抽出して示しています)。 | ||||||||
![]() 図1:phpinfo()の出力(XML関連のみ抽出) | ||||||||
| domはDOMモジュール、xmlはSAXモジュール、SimpleXMLはSimpleXMLモジュールを表します。libxmlは、libxml2へのインターフェイス用の共通モジュールで直接ユーザが使うことはありませんが、DOMなどの実装により内部的に使用されます。 | ||||||||
| 前のページ 1 2 | ||||||||
| ||||||||
| ||||||||


