Wiki内検索
カウンタ
メニュー
最近更新したページ
最新コメント
トップページ by awesome things!
トップページ by check it out
Generics(Java) by stunning seo guys
String(Java) by awesome things!
トップページ by check it out
PHPのページ by stunning seo guys
Tomcatのページ by stunning seo guys
トップページ by check it out
トップページ by awesome things!
タグ

PHPのページ


PHP (ピーエイチピー)

PHP(PHP: Hypertext Preprocessor)は、The PHP Groupによって開発・配布されているスクリプト言語です。
本家サイトはこちら

ApacheなどのHttpServerのモジュールとして動作しますので、サーバーサイドのスクリプト言語といった方がよいかもしれません。

2007/3時点でV4系、V5系が平行してメンテナンスされています。
V4でZend社のEngineを組み込んで高速化が図られ、V5系ではオブジェクト指向色を強めて話題になりました。V4系までは標準データベースがMySQLでしたが、V5より軽量データベースのSQLiteとなりました。

PHPのメリットとして、(日本を含めた)利用者数が大変に多いことがあげられます。
CMS(Contents Management System)として脚光を浴びたXoops(ズープス)、プロジェクト管理ツールのdotProject(ドットプロジェクト)などがPHPで開発されています。
利用者数が多いということは、インターネット上に流れる情報量が多いことを意味しますので、開発者にとって大変都合が良いことです。

また、オープンソースで配布されるモジュールが大変多いこと、組み込み関数が充実していることも、メリットとして挙げられます。
標準モジュールとして指定されているPEAR(ペアー)、MVCツールのMaple(メイプル)Mojavi(モハビ)、テンプレートエンジンのSmarty(スマーティー)など、開発をサポートするツールも盛りだくさんです。

個人的には大変好きな言語ですが、オブジェクト指向色が強まる中で(まるで、Javaに対抗するように)DIコンテナを実装したツールなどが登場し、本来の「簡易性」、「容易性」が損なわれているような気がしています。


ダウンロードとインストール

以下は、WindowsXP上のApache2.0.55へV5.2.1を組み込んだときのメモです。

本家サイトからダウンロードして、HttpServerのモジュールとして組み込みます。

Windows+Apache2環境へのPHP5のインストールでは、ダウンロードしたファイルを適当なディレクトリ(PHP_HOME)に解凍後、Apacheのhttpd.confを以下のように変更します。

LoadModule php5_module PHP_HOME/php5apache2.dll

の追加(Windows環境でもディレクトリを現すデリミッターは「/(スラッシュ)」)。

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

を追加。


php.ini

PHP_HOME/php-dist.iniをphp.iniとrenameし、以下のように変更して、WINDOWSディレクトリ下に置きます(WindowsXP)。

php.iniに設定するのは、主に
  1. phpのincludeディレクトリ; 外部のphpプログラムをincludeしたいとき、ここにいれておく(PEARなど)。
  2. phpの拡張ディレクトリ; 日本語使用(mbstring)、データベースの使用、ldapの使用などの「使いたい機能」のdllが入っている場所。(windows版のphpでは、展開時に全ての実行モジュールがインストールされます。これに対し、Unix系OS版ではconfigオプションで指定してMakeする必要があります)
  3. 日本語の設定
です。

php.iniファイルの構成は、php全体に関する構成、使用したい機能の選択、各機能ごとの設定、となっています。

以下に私のPCに設定した項目を列挙します。日本語はためしに、出力charsetをUTF-8にしてみました。

output_buffering = On  ; 出力時のbufferingを有効にする
output_handler =mb_output_handler  ; 出力時のハンドラーをマルチバイト対応したものにする。
default_charset = "UTF-8"  ; デフォルトのcharaセットをUTF-8にする
include_path = ".;PHP_HOME\includes"  ; ここにphpプログラムを入れとくとincludeできるようになる
extension_dir = "PHP_HOME/ext/" ; ここに拡張機能のdllがある。
extension=php_gd2.dll  ; (コメントアウトはずす) 描画ライブラリーを使用する。
extension=php_mbstring.dll  ; (コメントアウトはずす)マルチバイト関数を使う。
extension=php_mysql.dll  ; (コメントアウトはずす)マニュアルによれば、MySQL4.1以降を使う場合には、その機能を利用するために、php_mysqli.dllを使うように書かれていますが、使用する際に、「mysqli拡張がロードできません」というエラーが出てしまいます。これについては、いろいろなスレッドで対策が話し合われていますが、なかなかうまい方法がないようなので、php_mysql.dllを利用することにしています。
output_bufferingはPHPで処理結果をいったん専用領域に蓄積しておき、処理が全て完了した時点で出力処理を行う機能のことです。出力のオーバーヘッドを軽減できるだけでなく、出力全体対して圧縮や暗号化、コード変換といった処理を施すことが可能になります。
output_handler関数は、出力バッファに蓄積されたコンテンツをmbstring.http_output(下記)で指定する文字列に変換します。

[MuSQL]セクション
mysql.default_port =3308  ; 使用するMySQLのListenポートは3308(デフォルト3308)。
mysql.default_host =localhost  ; MuSQLの入っているのはローカルPC。
mysql.default_user =nobody  ; phpから使用するユーザーID mysql.default_pw =nobody  ; phpから使用するユーザーのパスワード
extensionのところでphp_mysql.dllというデータベース接続のための拡張ライブラリーを使う宣言をしました。私の環境には、複数のMySQLをインストールしているので、デフォルトportでないListenerをつかうよ、という宣言をします。


[mbstring]セクション
mbstring.language = Japanese  ; 使用するマルチバイト言語は日本語。
mbstring.internal_encoding = EUC-JP ; php内部の処理コードはEUC-JP。
mbstring.http_input = auto  ; phpへの入力エンコーディングは自動で検出。
mbstring.http_output = UTF-8  ; phpからの出力エンコーディングはUTF-8。
mbstring.encoding_translation = On  : php内部の処理コードへの変換をする。
mbstring.detect_order = auto  ; その際の文字コードの検出順はauto。
mbstring.substitute_character = none  ;その際に変換不能文字があったときには、置換しない。
mbstring.func_overload = 0  ; single-byte関数をmulti-bytes関数でオーバーロードしない。
日本語を処理する際には、extensionのところでphp_mbstring.dllという拡張ライブラリーを使う宣言をし、このセクションを設定しなくてはなりません。phpマニュアルのmbstring関数の項へのリンクを載せておきます。


phpinfo

以上の設定ができたら、以下のコードをphpinfo.php(名前はxxx.phpなら何でも良い)として、ドキュメントルートにおいてみましょう。

<?php phpinfo(); ?>

そして、ブラウザからこのphpファイルを呼び出してみましょう。自分のPCに設定したのであれば、URLは
localhost/phpinfo.php
となっているかと思います。

以下のような画面が出たら、とりあえずphpは動いているということになります。スクロールするとこまごまと沢山の設定をみることができます。mbstringなどで設定した項目などが反映されているか確認しましょう。



開発環境にphpinfoを入れておくと便利ですが、本番環境では確認後に消去しましょう。


PEAR

PEAR(PHP Extension and Application Repository;ペアー)は、PHP上で利用可能なクラス・ライブラリーです。
The PEAR Groupによって管理・開発・配布されています(サイトはここ)。
PHPをインストールするとPHP_HOMEにPEARというディレクトリーができるように、PHPの標準ライブラリーといわれていて、全てPHPで記述されています。
PEARのページ


Eclipseで開発

PHPでの開発もEclipseを使うと効率的にできるようになります。
PHPeclipseで楽々PHP開発
2007年03月12日(月) 17:52:02 Modified by wanderingse

添付ファイル一覧(全1件)
d4109c3e673057e2.PNG (62.71KB)
Uploaded by wanderingse 2007年03月05日(月) 13:27:07



スマートフォン版で見る