導入からPHP拡張モジュール組み込みまで

Mac OS Xで動かす軽量プログラミング言語

繁田 卓二
株式会社 qnote

2008/6/5

Mac OS X(Leopard)では、Webアプリケーション開発でおなじみのPerlやPHP、Python、Rubyといった軽量プログラミング言語を扱うことができます。その設定方法を紹介しましょう(編集部)

 Webアプリ開発機としてのMac

 名実共にUNIXと認定されたMac OS X 10.5 Leopard。最近ではUNIX系Webアプリケーションの開発機としてMacを使用されている方も多いのではないでしょうか?

 その理由の1つとして、Webアプリケーション開発に必要な一連の工程が、1台のMac上でシームレスに行えるというメリットが挙げられます。従来のようにプログラミング・動作デモ・デバッグ・単体テスト・性能評価などといった環境それぞれを「構築する」のではなく、手元のMac上に「乗せる」というスタイルは、迅速さと適応性を求める最近の開発スタイルにうまくマッチしているといえるでしょう。

 今回はそのLeopardで扱える軽量プログラミング言語(Lightweight Language)の環境を紹介し、さらにその中でも人気の高いPHPの開発環境についてご紹介します。

関連記事:
リンク Ruby2.0からオレ様言語まで、軽量言語のお祭りが開催
http://www.atmarkit.co.jp/news/200708/07/ll2.html
リンク プログラマーを引き付けるMac OS Xの魅力
http://www.atmarkit.co.jp/fcoding/articles/macosx/macosxa.html
リンク Mac OS XでAMP構築
http://www.atmarkit.co.jp/fcoding/articles/macamp/macampa.html

 Leopardで動く軽量プログラミング言語は?

 Leopardは「UNIX」と呼ばれるだけあって、インストール直後からいくつかのLL環境が構築されています。各言語のバージョンは、いずれもLeopard発売直前の最新版が導入されており、これらはセキュリティアップデートで自動的に更新される可能性もあります。また、ローカルのWebサーバとの連携もある程度準備されており、変更したプログラムを即座にブラウザで確認する、という開発スタイルが容易に行えます。

 Leopardの主なLL環境とバージョンは以下のとおりです。

■Perl(バージョン:5.8.8)

モジュール管理ツール「CPAN」を含め、Leopard特有のクセというものもなく、ほぼすべての環境がそろっています。

■Python(バージョン:2.5.1)

Pythonパッケージ管理ツールのeasy_installコマンドやZope Interface、汎用ネットワークフレームワークのTwistedなどもインストール済みです。また、Cocoaとの言語ブリッジであるPyObjCもインストールされており、X Codeとの連携によってPython言語でCocoaアプリケーションを記述できるようになっています。

■Ruby(バージョン:1.8.6)

Rubyパッケージ管理ツールのgemコマンドのほか、WebアプリケーションフレームワークであるRuby on Railsもインストールされています。また、簡易WebサーバであるWEBrickも含まれていますので、Railsの性能を100%活用できるでしょう。

■PHP(バージョン:5.2.4)

コマンドラインで使用するphpコマンドと、ApacheのモジュールとしてのPHPがインストール済みです。ただし、パッケージ管理ツールであるpearコマンドと標準PEARライブラリはインストールされていません。

 もちろん、これら以外の言語環境をインストールすることもできますし、バージョンアップも可能です。ただし先にも述べたように、OSのソフトウェアアップデートやセキュリティアップデートによって上書きされる可能性があるため、注意が必要です。

 では、ここからはPHPにフォーカスを当て、アプリケーション開発に必要な環境を構築していくことにしましょう。なお、ApacheのモジュールとしてのPHPはデフォルトでは無効になっているので、「Mac OS XでAMP構築」を参考にしてください。

 PEAR環境のインストール

 複数あるLeopardのLL環境の中で、PHPだけに備わっていないものが1つあります。それはパッケージ管理ツールです。PerlにはCPAN、Rubyにはgemなどのツールが用意されているにもかかわらず、なぜかPHPだけはパッケージ管理ツールが備わっていません。

 PHPにもPEAR(PHP Extension and Application Repository)と呼ばれるパッケージ管理ツールが提供されており、リモートのリポジトリ経由でのインストールが可能なpearコマンドが存在します。PEARは公式サイトにインストーラが提供されていますので、これを使用して、LeopardにPEAR環境とツールをインストールしてみましょう。

 今回は、ユーザーのホームディレクトリ直下のphpディレクトリにPEAR環境を作ります。ホームディレクトリへ移動し、以下のようにcurlコマンドでインストーラを取得してphpコマンドに渡します。するとインストーラが起動し、インストーラの開始とプロキシの設定を聞かれます。特に変更が必要なければ、Enterキーで次に進みます。

$ mkdir ~/php
$ cd ~/php
$ curl http://pear.php.net/go-pear | php

Welcome to go-pear!
(省略)
If you wish to abort, press Control-C now, or press Enter to continue: 【←Enter】

HTTP proxy (http://user:password@proxy.myhost.com:port), or Enter for none:: 【←Enter】

 次に、PEAR環境で使用するディレクトリを設定します。今回はこのままで使用しますので、Enterキーで先に進みます。

 1. Installation prefix ($prefix) : /Users/shigeta/php
 2. Temporary files directory     : $prefix/temp
 3. Binaries directory            : $prefix/bin
 4. PHP code directory ($php_dir) : $prefix/PEAR
 5. Documentation base directory  : $php_dir/docs
 6. Data base directory           : $php_dir/data
 7. Tests base directory          : $php_dir/tests
1-7, 'all' or Enter to continue: 【←Enter】

 最後に、PEAR標準パッケージを同時にインストールするかと聞かれますので、Yを入力します。

The following PEAR packages are bundled with PHP: PEAR_Frontend_Web-beta,
PEAR_Frontend_Gtk2, MDB2.
Would you like to install these as well? [Y/n] : Y

 これでインストールは完了です。パッケージは「~/php/PEAR」ディレクトリにインストールされ、pearコマンドは、ホームディレクトリ以下の「~/php/bin/pear」となります。試しに「list」オプションを付けて、インストール済みのパッケージを表示してみましょう。

$ ~/php/bin/pear list
Installed packages, channel pear.php.net:
=========================================
Package          Version State
Archive_Tar      1.3.2   stable
Config           1.10.11 stable
Console_Getopt   1.2.3   stable
HTML_Template_IT 1.2.1   stable
MDB2             2.4.1   stable
MIME_Type        1.0.0   stable
PEAR             1.7.2   stable
PEAR_Frontend_Web 0.7.2  beta
Structures_Graph 1.0.2   stable

 このようにパッケージとバージョンのリストが表示されれば成功です。PEARパッケージのコマンドラインスクリプトは「~/php/bin」ディレクトリにインストールされますので、環境変数PATHに追加しておくと便利です。

 LeopardのPHP環境を見る

 ここで、デフォルトで組み込まれているPHPの拡張モジュールを見てみましょう。

 PHPでは、データベース連携など特定の用途に特化した機能は、拡張モジュールとしてPHPのコアから切り離されています。これら拡張モジュールは、必要に応じて、PHPのコンパイル時に組み込みを指定し、インストールする形です。

 LeopardのPHPに追加されている主な拡張モジュールは、以下のとおりです。

LDAP LDAPディレクトリサーバとの連携
kerberos Kerberos認証のサポート
EXIF EXIFデータの読み書きをサポート
FTP FTPクライアントとしてのAPI
mbstring マルチバイト言語のサポート
iODBC iODBCによるデータベース操作API
MySQL/MySQLi MySQLデータベースのサポート

 こうして見ると、データベース連携のMySQL拡張やマルチバイト拡張など、一般的なWebアプリケーションで必須となるモジュールだけでなく、UNIXらしくiODBC拡張やOpenSSLのKerberos認証拡張などが組み込まれていることが分かります。同時に、デジカメ写真の情報を読み取るEXIF拡張が標準で組み込まれているところなどはMacらしい一面といえるのではないでしょうか。

 ところが、実際に開発を続けていると、最初に用意されている拡張モジュールだけでは機能が足りず、新たなモジュールが必要となってくることもあります。PHPには、デフォルトで組み込まれた拡張モジュール以外にも数多くのモジュールが存在します。使用頻度の高いものでは、PHPから動的に画像を出力するGD拡張モジュールや、PostgreSQLなどのデータベース連携の拡張モジュールなどが挙げられます。

 もちろんLeopardでも、これらのモジュールをコンパイルし、システムに組み込むことができます。次は、こういった標準以外の拡張モジュールを追加する方法を解説しましょう。

 
1/2

Index
Mac OS Xで動かす軽量プログラミング言語
Page1
Webアプリ開発機としてのMac
Leopardで動く軽量プログラミング言語は?
PEAR環境のインストール
LeopardのPHP環境を見る
  Page2
LeopardのPHP環境を拡張する準備
GD拡張モジュールのインストール

Coding Edgeフォーラム トップページ

 Mac OS X関連記事
プログラマーを引き付けるMac OS Xの魅力
続々移行するそのワケとは
 Mac一筋という熱狂的なユーザーだけでなく、「面白いことをしたい」と考えるエンジニアもMac OS Xを利用し始めている。いったいなぜだろう
Mac OS XでAMP構築
3通りの方法で整備できる開発環境
 Mac OS Xの上にWebアプリケーションの定番、AMP(Apache+MySQL+PHP)環境を3通りの方法で導入してみましょう
Mac OS Xで動かす軽量プログラミング言語
導入からPHP拡張モジュール組み込みまで
 Leopardでは、インストール直後からいくつかの軽量プログラミング言語が利用できます。早速試してみませんか?
Objective-Cは特殊な言語?
Cocoaの素、Objective-Cを知ろう(1)
 iPhone用アプリケーション開発で注目を集める言語「Objective-C」。C++とは異なるC言語の拡張を目指したこの言語の基本を理解しよう
Mac内にPHP4、5、6を同居させるコツ
Mac OS X+PHPでオールインワン環境(インストール編)
 PHP4の開発は終了したが、移行の問題は残されている。異なるバージョンのPHPをスムーズに切り替えるには?
  Coding Edgeフォーラムフィード  2.01.00.91


Coding Edge フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

>

Coding Edge 記事ランキング

本日 月間