導入から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 |
次に、PEAR環境で使用するディレクトリを設定します。今回はこのままで使用しますので、Enterキーで先に進みます。
1. Installation prefix ($prefix) : /Users/shigeta/php |
最後に、PEAR標準パッケージを同時にインストールするかと聞かれますので、Yを入力します。
The following PEAR packages are bundled with PHP: PEAR_Frontend_Web-beta, |
これでインストールは完了です。パッケージは「~/php/PEAR」ディレクトリにインストールされ、pearコマンドは、ホームディレクトリ以下の「~/php/bin/pear」となります。試しに「list」オプションを付けて、インストール済みのパッケージを表示してみましょう。
$ ~/php/bin/pear list |
このようにパッケージとバージョンのリストが表示されれば成功です。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をスムーズに切り替えるには? |
|
- プログラムの実行はどのようにして行われるのか、Linuxカーネルのコードから探る (2017/7/20)
C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。最終回は、Linuxカーネルの中では、プログラムの起動時にはどのような処理が行われているのかを探る - エンジニアならC言語プログラムの終わりに呼び出されるexit()の中身分かってますよね? (2017/7/13)
C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。今回は、プログラムの終わりに呼び出されるexit()の中身を探る - VBAにおけるFileDialog操作の基本&ドライブの空き容量、ファイルのサイズやタイムスタンプの取得方法 (2017/7/10)
指定したドライブの空き容量、ファイルのタイムスタンプや属性を取得する方法、FileDialog/エクスプローラー操作の基本を紹介します - さらば残業! 面倒くさいエクセル業務を楽にする「Excel VBA」とは (2017/7/6)
日頃発生する“面倒くさい業務”。簡単なプログラミングで効率化できる可能性がある。本稿では、業務で使うことが多い「Microsoft Excel」で使えるVBAを紹介する。※ショートカットキー、アクセスキーの解説あり
|
|