PECLのXDebugでデバッグを簡単に(前編):ステップアップ! PHP(2)(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エクステンション」という形式になっています。
前回紹介した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で検索してみてください。
Copyright © ITmedia, Inc. All Rights Reserved.