連載
» 2011年03月31日 00時00分 公開

ステップアップ! PHP(2):PECLのXDebugでデバッグを簡単に(前編) (1/4)

前回は、PHPの標準ライブラリであるPEARの使い方と、PEARライブラリを使ってTwitterにアクセスする方法を解説しました。今回は、PEARと同様にPHPの標準ライブラリであるPECLを理解しながら、XDebugというパッケージの使い方を学びます。(編集部)

[田中正裕,アシアル株式会社]

もう1つの標準ライブラリPECL

 PECLとは、「PEAR Extended Code Language」の略であり、前回紹介したPEARライブラリの一部です。PEARと同様に、公式サイトを開くとパッケージを一覧できます(図1)。PEARのライブラリはPHP言語で記述したもので、PHPプログラムから簡単に呼び出すことができました。一方、PECLのパッケージは「PHPエクステンション」という形式になっています。

図1 PECLのパッケージ一覧ページ 図1 PECLのパッケージ一覧ページ

 前回紹介したPEARのライブラリは、インストールは簡単でしたが、PHP言語が備える機能を拡張することまではできません。一方、PECLのライブラリであるPHPエクステンションは、PHP言語が備える機能を拡張することも可能です。さらにPHPエクステンションは、PHP言語ではなくC言語で記述してあり、PEARよりも高速に動作するといいます。

 PHPは、言語の「コア」と呼ぶ部分と、数多くのPHPエクステンションから成り立っています。例えば、printやifという構文など、PHPの動作に不可欠な機能はPHPのコアとなっています。そして、ファイル操作や、MySQL、PostgreSQLなどのデータベース接続モジュール、マルチバイト処理(mbstring)などの機能は、PHPエクステンションとしてコアと一体になっています。PECLはこのPHPエクステンションを、簡単に追加するための仕組みなのです。

 言語のコアに組み込むことになっているため、PECLはPEARよりも少し扱いが複雑になります。PHPエクステンションはC言語で記述してあるため、PEARのようにパッケージをダウンロードしただけではPHPコードから呼び出すことができません。利用するには、PHPエクステンションをビルドし、PHPコアに組み込む必要があります。

 また、PHPエクステンションはPHP本体と一体となって動作するため、PHPエクステンションにバグや不具合があると、PHPコアも道連れにして動作が停止することがあります。PEARパッケージは、完成度が低いものを利用してもPHPの動作を止めてしまうことはありません。しかし、PHPエクステンションでアルファ版など、完成度が低いパッケージを利用するときは、慎重に検証すべきです。そのほか、PEARとPECLの違いについて、表1にまとめました。

  PEAR PECL
利用方法 include構文などを通してPHPコードから直接利用できる PHP本体に組み込む必要がある
提供する機能 複雑な処理や、多くの場面で共通して使える機能が中心 処理速度が問われる機能のほか、PHP言語の拡張も提供
インストール手段 pearコマンド peclコマンド
レンタルサーバなどの環境における使いやすさ レンタルサーバでも簡単に利用できる root権限が必要なため、レンタルサーバでの利用は簡単ではない
表1 PEARとPECLの性格の違い

コンパイル、ビルド環境が必要

 PECLには200以上のパッケージがあります。今回は、その中から「XDebug」というパッケージを例に、PECLパッケージの使い方を解説します。XDebugはその名の通りデバッグ機能を提供するパッケージです。今回は、XDebugを使ってPHPプログラムをデバッグする方法も説明します。

 まずはインストールの方法から説明します。XDebugをはじめとするPHPエクステンションをインストールするには、C言語で記述したソースコードをコンパイル、ビルドする環境が必要です。Linuxの場合、ディストリビューションによってコンパイラ関連のパッケージのインストール方法が異なります。下記の通りにコマンドを実行してコンパイル環境をインストールしてください。

・Red Hat系ディストリビューション(CentOSなど)の場合
# yum groupinstall "Development Tools"
# yum install php-devel
# yum install php-devel# yum install php-pear  ← まだPEARをインストールしていない場合
・Debian系ディストリビューション(Ubuntuなど)の場合
# apt-get install php5-dev
# apt-get install php5-dev# apt-get install php-pear  ← まだPEARをインストールしていない場合

 WindowsでもPECLのPHPエクステンションは使えますが、高度な知識が必要で、Visual Studioを別途インストールする必要があるなど、とても簡単とは言えません。著名なPECLパッケージであれば、Windows版のバイナリがあります。こちらのサイトで探すか、Googleで検索してみてください。

       1|2|3|4 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。