「PHP5徹底攻略」サポートページ

Cover Image
このページでは、ソフトバンク・クリエイティブ社刊行の「PHP5徹底攻略」 (通称:赤マンモス本 -- ISBN 4-7973-2906-8) についてのサポートを行います。 ご指摘・お問い合わせがありましたら、出版社のページからお寄せください。

(2010/02/26)

本書で使用するサンプルスクリプト(オリジナル版)

パート2 part2.lzh
パート3 part3.lzh
郵便番号データ 13tokyo.lzh
宴会サーバー enkai-0.7.tar.gz

(初心者の方へ)オリジナル版サンプルスクリプト使用上の注意

本書のソースコードはPHP 5.0.0環境を前提としています。 本書の刊行後、PHPに大きな変更があったため、オリジナル版サンプルスクリプトはそのままでは最新のPHP環境では動作しなくなっています。

オリジナル版サンプルスクリプトを動作させたい場合は、本書執筆時の環境(Vine Linux 3.0+SQLite-2.x+PHP-5.0.0相当)を用意する必要がありますのでご注意ください。

また、従来は宴会サーバーのサービスをインターネットに向けて公開しておりましたが、古い環境で数多のセキュリティーホールを抱えたまま動かし続けると、皆様の環境に悪影響を与える可能性があります。 つきましては、誠に残念ですが、宴会サーバー実稼働サイトのサービスを終了させていただきましたのでご了承ください。

(2008/12/18)

  sqlite に関する大きな変更に伴い、 本書のサンプルもそのままでは動かなくなってしまいました。 このため、後述の通り該当部分(ただし宴会サーバー部分を除く)を PDO(PHP Data Object)で書きなおすことで、 ある程度動くように対応しました。
  なお動作確認にあたっては、筆者の環境の都合により Vine Linux 3.0 から Cent OS 5.2 に変更しています。 RedHat EL4/5 や Fedora 6/7/8/9 あたりでも、おおむねこのままで動くと思われます。
   Vine Linux では動作確認を行っておりませんのでご了承ください。

ちなみに、当ページも、ようやく XHTML+CSS2 に移行しました。


初版第一刷

(2008/12/18)

Vine Linux 3.0 と Cent OS 5.2 の主な違い
概要 Vine Linux 3.0 Cent OS 5.2
php4 パッケージ名:php4 メンテナンスの終了に伴い収録されなくなった
php5 パッケージ名:php5 パッケージ名:php
本書のサンプルを実行するのに必要な最小限のパッケージ:
php php-cli php-mbstring php-common php-pdo sqlite
Cent OS 5.2 提供の php には sqlite モジュールが
提供されていないので、自作パッケージを提供中です。
apache パッケージ名:
httpd(1.3) / apache2(2.0)
パッケージ名:httpd(2.2)
httpd.conf 設定しなくても動作していた 設定ファイルの修正が必要(後述)
lha 標準で収録 収録されない(後述)
sqlite パッケージ名:sqlite(2.x)
コマンド名:sqlite
パッケージ名:sqlite(3.x)
コマンド名:sqlite3 ※コマンド名が変わっているので注意!!
php.ini 変更内容を本文内で指示 内部コードを UTF-8 にする方向で提示(後述)
OSの文字コード EUC-JP UTF-8(後述)



本書で解説している sqlite(バージョン2)と PDO::sqlite の主な違い
機能 sqlite ver.2.0 PDO::sqlite(sqlite3)
データベース
への接続
$db_handle = sqlite_open(
    $ファイルへのパス名
    [, $モード 
    [, &$エラー文字列 ]] );
$db_obj = new PDO(
    'sqlite:ファイルへのパス名');
SQLクエリー
の実行
(更新系)
sqlite_query(
    $db_handle
  , SQL文);
$db_obj->exec(SQL文)
SQLクエリー
の実行
(参照系)
$result = sqlite_query(i
        $db_handle
      , SQL文);
$array = sqlite_fetch_XXXX(
        $result);
$statement = $db_obj->prepare(SQL文);   //  準備
$statement->bindXXXX(カラム, 値);       //  パラメータへの値の代入
$statement->execute();                  //  実行
$row = $statement->fetch(PDO::FETCH_ASSOC); //  値の取り出し

PDOの場合、他のデータベースエンジンを使う場合でも接続文字列が異なるだけで後は同じなので、ひとつ覚えると後が楽になります。現在はデータベースへの標準のアクセス方法としてPDOが推奨されているようなので、特に必要がなければPDOを使うようにしましょう。

本書で使用するサンプルスクリプト

オリジナル版(賞味期限切れ) PDO::sqlite対応版
part2.lzh part2.tar.gz(*1)
part3.lzh part3.tar.gz(*1)
13tokyo.lzh 13tokyo.tar.gz
(なし) part4.tar.gz(*2)
enkai-0.7.tar.gz

Chapter-1 環境としてのPHP

以下は、プロンプトが '$' で始まるものは一般ユーザで実行可能、'#' で始まるものは root 権限が必要なことを表しています。また、'/path/to' の部分は読者の環境で逐次いずれかのディレクトリに読み換えてください。

Chapter-2 コマンドラインで使うPHP

Chapter-3 データベースとPHP

Chapter-4 WebシステムにおけるPHP

4.3 宴会サーバ

さすがにここは変更が大きすぎる上にコーディングスタイルも古すぎるので、 OOP+Smartyで書きなおす予定です。もうしばらくお待ちください。

。。。の予定でしたが、もはや原形をとどめなくなってしまったので、 残念ながら本節についてはサポートサービスを終了させていただきます。 あしからずご了承ください。

なお、オリジナルのソースは本ページの先頭のところにあります。


(2006/10/10)

(2006/01/24)

(2005/06/22)

(2005/06/05)

(2005/05/19)

(2005/04/23)

P.101 の末尾に追加

「4.2 郵便番号検索」の章は P.101にある「4.2.7 入力画面の表示」で終わっていますが、
この次の「4.2.8.検索結果の表示」の節が抜けていました。

(2004/10/02)

(2004/11/07)

(2004/12/02)

戻る