PHP は、サーバーサイドのクロスプラットフォームのオブジェクト指向の HTML 埋め込みスクリプト言語です。この章では、PHP 開発環境の確立、一般的な構成の問題と解決策について読者に紹介します。この章を読むことで、読者は次の内容を学ぶことができます。
確認コードを変更する
: Windows - PHP環境を構築するためのAppserV統合インストールパッケージ
: Linux - PHP環境を構築するためのXAMPP統合インストールパッケージ
: PHP 開発環境の主要な構成情報
: PHP の一般的な構成問題を解決します
AppServ は、Apache、PHP、MySQL、phpMyAdmin などのサーバー ソフトウェアとツールを、インストールおよび構成後にパッケージ化して処理します。開発者はWebサイトからソフトウェアをダウンロードしてインストールするだけで、すぐにPHP開発環境を構築できます。初心者に非常に適しています。
注: AppServ を使用して PHP 開発環境を構築する場合は、Apache、PHP、および MySQL がシステムにインストールされていないことを確認する必要があります。それ以外の場合は、最初にこれらのソフトウェアをアンインストールしてから、AppServ を適用します。
以下では、AppServ 統合インストール パッケージを使用して PHP 開発環境を構築する具体的な手順を説明します。
(1) AppServ-win32-2.5.10.exe ファイルをダブルクリックして、図 1.1 に示す AppServ 起動ページを開きます。
(2) 図 1.1 の [次へ] ボタンをクリックして、図 1.2 に示す AppServ インストール契約ページを開きます。
(3) 図 1.2 の「同意する」ボタンをクリックすると、図 1.3 のページが開きます。 AppServ のインストール パスを設定します (デフォルトのインストール パスは通常: E:AppServ)。AppServ のインストールが完了すると、Apache、MySQL、および PHP がサブディレクトリの形式でこのディレクトリに保存されます。
(4) 図 1.3 の「次へ」ボタンをクリックすると、図 1.4 のページが開きます。インストールするプログラムとコンポーネントを選択します (デフォルトではすべてを選択します)。
注: 図 1.4 の手順で、MySQL データベースがこのマシンにすでにインストールされている場合は、ここで MySQL データベース オプションのチェックを外しても、このマシンにすでに存在する MySQL データベースを引き続き使用できます。
(5) 図 1.4 の「次へ」ボタンをクリックすると、図 1.5 のページが開きます。コンピューター名を入力し、電子メール アドレスを追加し、Apache ポート番号を設定します。デフォルトはポート 80 です。
ヒント: Apache サーバーのポート番号の設定は、Apache サーバーが正常に起動できるかどうかに直接関係します。このマシンのポート 80 が IIS または Thunder によって占有されている場合は、Apache のポート番号を変更するか、IIS または Thunder のポート番号を変更して Apache サーバーの構成を完了する必要があります。ポートの競合が発生すると、インストールは失敗し、Apache サービスは開始されません。
(6) 図 1.5 の「次へ」ボタンをクリックすると、図 1.6 のページが開きます。 MySQL データベースの root ユーザーのログイン パスワードと文字セットを設定します。
ヒント: MySQL データベースの文字セット設定では、UTF-8、GBK、または GB2312 を選択できます。ここでは、文字セットは「UTF-8 Unicode」に設定されています。これは、MySQL データベースの文字セットが UTF8 エンコーディングを使用することを意味します。
注: 図 1.6 で設定した MySQL データベースの root ユーザーのパスワードは、プログラムがデータベースに接続するときにこのパスワードを使用する必要があるため、覚えておく必要があります。
プログラムを実行する際、データベースに接続するためのパスワードを変更する必要があります。インストール中にパスワードを設定するのを忘れた場合、最も直接的かつ効果的な解決策は、AppServ を再インストールすることです。
(7) 図 1.6 の [インストール] ボタンをクリックして、図 1.7 に示すようにインストールを開始します。
(8) インストールが完了したら、図 1.8 に示すように、スタート メニューの AppServ 関連操作リストで Apache および MySQL サービスを開始できます。
1.2 PHP開発環境の主な構成情報
PHP 開発環境の構成方法は、インストール手順自体に加えて、PHP とサーバーの構成も非常に重要です。ここでは主にPHPとApacheサーバーの構成を紹介します。
1.2.1 Apacheサーバーの基本構成
t access.conf: サーバーのアクセス許可を構成し、さまざまなユーザーやコンピューターのアクセス制限を制御するために使用されます。
t httpd.conf: サーバー起動の基本環境を設定するために使用されます。
t srm.conf: 主にファイルリソースの設定に使用されます。
ヒント: http.conf は Apache サーバーの構成ファイルで、一般的に使用される構成には、Apache サーバーのポート番号、サーバーのアクセス パス、および擬似静的設定が含まれます。
サーバー名ローカルホスト:80
ドキュメントルート「/xampp/htdocs」
LoadModule rewrite_module modules/mod_rewrite.so
php.ini ファイルは、PHP の起動時に自動的に読み取られる設定ファイルです。 php.ini は ASCLL テキスト ファイルであり、複数の部分に分かれており、各部分には関連するパラメータが含まれています。各部品の名前は最初の角括弧内に配置され、その後に名前と番号が続き、それぞれの名前が独自の行に配置されます。通常の PHP コードを使用します。これはパラメータ名に非常に敏感であり、スペースを含めることはできませんが、パラメータには数値、文字列、またはブール論理数値を使用できます。各行の先頭に指定マークとしてセミコロンが配置されているため、行を削除することなく、PHP のこれらの機能を使用するかどうかを簡単に選択できます。機能をコメントアウトすると (つまり、セミコロンを追加します)、その行はコンパイルも実行もされません。 php.ini ファイルを変更するたびに、新しい設定を有効にするために Apache サーバーを再起動する必要があります。
ヒント: php.ini は PHP 構成ファイルで、さまざまな関数ライブラリのロード、エラー レベルの設定、サーバー時間の設定などに使用されます。 Linux オペレーティング システムでは、php.ini は /opt/lampp/etc/php.ini フォルダーに保存されますが、Windwos オペレーティング システムでは、php.ini はシステム ディスク上の Windows ファイルに保存されます。 php.ini ファイルの基本構成を表 1.1 に示します。
表1.1 php.iniファイルの基本構成
パラメータ |
手順 |
デフォルト値 |
エラー報告 |
エラー処理のレベルを設定します。推奨値は E_ALL & ~E_NOTICE & ~E_STRICT で、リマインダーとエンコーディング標準化警告を除くすべてのエラー メッセージが表示されます。 |
E_ALL & ~E_NOTICE & ~E_STRICT |
グローバル登録 |
通常、この変数はオフに設定でき、フォームを介したスクリプト攻撃に対するより安全な保護を提供できます |
register_globals = オン |
インクルードパス |
このパラメータは一連のディレクトリを受け取ることができる PHP 検索パスを設定します。 PHP がパスのないファイル プロンプトに遭遇すると、これらのディレクトリが自動的に検出されます。一部のオプションで複数の値が使用できる場合、Windows ではシステム リスト区切り記号「;」を使用する必要があることに注意してください。 「Linux の下で 」 |
; UNIX: "/パス1:/パス2" ;include_path = ".:/php/includes" ; Windows: "パス 1; パス 2" ;include_path = ".;c:phpincludes" |
拡張子ディレクトリ |
PHPのダイナミックリンク拡張ライブラリのディレクトリを指定 |
「ext」ディレクトリの下 |
拡張子 |
PHPの起動時にロードされるダイナミックリンク拡張ライブラリを指定します。 PHP で一般的に使用される拡張ライブラリとその説明については、表 1.2 を参照してください |
PHP の共通拡張ライブラリは、最初のインストールと構成後にコメント化されるため、読者は手動で変更する必要があります |
ファイルアップロード |
HTTP経由でのファイルアップロードを許可するかどうかを設定します |
file_uploads=オン |
upload_tmp_dir |
HTTP 経由でファイルをアップロードするときに一時ディレクトリを設定します。空の場合は、システムの一時ディレクトリが使用されます。 |
upload_tmp_dir = 空
|
upload_max_filesize
|
アップロードできるファイルのサイズを設定します(「50M」など、単位を入力する必要があります)
|
upload_max_filesize=2M
|
post_max_size
|
POST メソッドを使用して、フォーム送信中に PHP が受信できる最大容量を制御します。より大きなファイルをアップロードするには、この値は、upload_max_filesize の値より大きくなければなりません。 upload_max_filesize=10M の場合、upload_max_filesize の値は 10M より大きくなければなりません
|
post_max_size = 8M
|
最大入力時間
|
POST、GET、PUT によるデータの受信時間を秒単位で制限します
|
max_input_time = 60
|
拡張ライブラリ |
手順 |
php_ftp.dll |
クライアントとサーバー間の標準転送プロトコル(FTP)を実装できるFTP関数ライブラリをサポート |
php_gd2.dll |
画像処理関数ライブラリをサポートし、.gif、.jpg、.pngなどのさまざまな画像形式をサポートします。 |
php_imap.dll
|
imapメール処理関数ライブラリをサポート
|
php_mssql.dll
|
MsSQLデータベースをサポート
|
php_msql.dll
|
mSQLデータベースをサポート
|
php_MySQL.dll
|
MySQLデータベースをサポート
|
php_oracle.dll
|
Oracleデータベースをサポート
|
php_pdf.dll
|
PDFファイル処理関数ライブラリをサポート
|
php_sockets.dll
|
ソケット処理関数ライブラリをサポート
|
php_zlib.dll
|
zlibファイル圧縮関数ライブラリをサポート
|
php_pdo.dll
|
PDOデータベース抽象化レイヤーをサポート
|
php_pdo_mysql.dll
|
MySQLデータベースをサポート
|
php_pdo_mssql.dll
|
MS SQL Serverデータベースをサポート
|
php_pdo_oci8.dll
|
Oracleデータベースをサポート
|
php_pdo_odbc.dll
|
ODBCデータベースをサポート
|
php_pdo_pgsql.dll
|
PGSQLデータベースをサポート
|