Apache・phpのインストール

Apache (アパッチ)は、お使いのパソコンにWEBサーバとしての機能を付加するためのソフトです。

php(ピーエッチピー)は小規模なWEB アプリケーション開発に適したプログラム言語です。phpで開発したアプリケーション(プログラム)は、WEBサーバ環境でテストする必要があります。

ともにオープンソフト(無償で誰でもが利用できる)ですので、利用に際しての契約や手続き等は不要です。

通常、Apachとphpは、そのれぞ単体でインストールしますが、その後の設定など、初めての方には少々難しい部分がありますので、本サイトでは、一括インストールができるxampp(ザンプ)を利用します。

xamppを利用したApache・phpのインストール

1 xampp日本語サイトを開きます。

右上の言語をJP(日本語)にしてください。(の部分)

2 [Windows向けXAMPP]をクリックします。

ダウンロードが始まりますので、完了するまでお待ちください。

3 ダウンロードしたフォルダーにあるをダブルクリックしてください。

4 アカウント制御のダイアログが表示されますので、「はい」をクリック 

5 Warningが表示されます.

ウィルス対策ソフトを一時停止するようにとのメッセージです

インストール場所をC:\Program Files(x86)を避けるようにとの注意です。

4 インストールが始まります [Next>]をクリック

5 インストールするコンポーネントの選択 そのまま[Next>]をクリック

6 インストールフォルダの指定 C:\Program Files(x86)以外を指定

Xamppコントロールパネルで利用する言語の指定

英語とドイツ語のみ そのまま「NEXT」

7 [Next]をクリック 

8 インストールが始まります。(少々時間がかかります)

9 インストールが完了しました。チェックボックスをオフにして[Finish]をクリック

Apache・phpの確認

1 すべてのアプリ(すべてのプログラム) →  をクリックしてください。

2 言語の確認後、XAMPPのコントロールパネルが表示されます。

Modulesについて
 Apache・・・WEBサーバを構成するためのモジュールです。
 MySql・・・データベースMySqlを構成するためのモジュールです。
 FileZilla・・・ファイル転送のためのモジュールです。
 Mercury・・・メールサーバをセットアップし機能させるためのモジュールです。
 Tomcat・・・Javaサーブレットを実行するためのエンジン
本サイトでは、Apacheのみ利用します。

コントロールパネルを起動すると、エラーになるケースがあります。

Port 80 や Port 443 が "in use" のメッセージの場合には、
           XAMPP Port 80 をご覧ください。

3 Apacheの起動と機能確認  

Apacheの横にある「Start」 → Adminをクリック

Windows セキュリティの重要な警告が表示されたら、アクセスを許可するをクリック

「Start」をクリックすると、次のエラーになる場合があります。

XAMPPを管理者として実行してください。
           管理者として実行を設定

Adminが表示されます。


続いて、PHPInfo タブををクリック

インストールされたphpの情報が表示されます。

これで、Apacheとphpは、正常にインストールされました。

XAMPPのコントロールパネルを閉じる
XAMPPを終了する場合には、スタートしているモジュールをすべてストップしてから、[Quit]をクリックして下さい。(ウィンドウの×は使用しないように)
管理者権限で実行していないと、[Quit] でエラーになる場合があります。

Apache・phpの設定変更

インストールしたApacheとphpは世界標準になっていますので、

日本語環境に合わせる
使用する言語とそのコード(本サイトではUTF-8を利用します)など
開発環境を指定する
開発するプログラムがあるフォルダの指定
データベースをして利用するSQLiteの指定など

ためにそれぞれの初期設定をWindowsのメモ帳で変更をします。

開発環境を設定

開発するプログラムや使用する画像ファイル等(コンテンツ)を配置する場所は、既定では、xamppにあるフォルダhtdocsです。

このままでは開発環境が不自由ですので、環境に適したフォルダを追加指定します。

コンテンツを配置するフォルダ

本サイトでは、Dドライブにあるマイドキュメント内にフォルダHomepageを作り、ここにコンテンツを配置するように設定します。(Aliasを指定して、htdocs以外のフォルダも利用できるように設定)

Apache横の[config] → Apache(httpd.conf)

httpd.confファイルが開きますので、最後に以下のコードを追加してください。

Alias /Homepage/ "D:/xxxxx/Documents/Homepage/"
<Directory "D:/xxxxx/Documents/Homepage">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

D:/xxxxx/Documents/Homepage/ は、コンテンツを置くフォルダです。使用環境に合わせて、絶対パスで指定してください。

httpd.confは、XAMPP/apache/confにあります。

Alias設定の確認

マイドキュメントにフォルダHomepageを作る → EMエディタで以下のファイルを作り、ファイル名 phpinfo.phpで保存

<?php
phpinfo();
?>

xamppのコントロールパネルから[start] → ブラウザを起動 → URI http://localhost/Homepage/phpinfo.php → 以下の画面が表示されたらAliasの設定は完了しました。

httpd.confを修正した場合には、XAMPPを再スタート(コントロールパネルで[stop] → [start])してから、ブラウザを起動してください。

xampp(Apache)が起動していないと、表示されません。

この画面になったら、xamppの起動を確認してください。

phpの設定

コントロールパネルでapacheがスタートしていないことを確認([start]になっている) → [config] → PHP(php.ini)

pho.iniファイルが開きます。このファイルで、phpの稼働環境を設定しています。

全体で2,000行にもなるファイルです。その一部を修正します。修正箇所を行番号で示しています。(以下の行番号は、PHPバージョン8.2.4の例です。 バージョンが違う場合には、メモ帳の検索機能を利用して修正個所を探してください。)

なお、;で始まる行は、コメントです。

メモ帳で行番号を確認・表示
表示タブで、ステータスバー オン、右端での折返し オフ 二設定。
画面下のステータスバーに行番号が表示されます。

タイムゾーンの設定

時刻関数(DATE)で得られる時刻のタイムゾーンを東京に指定します。

「timezone」で検索してください。

1999行目にある行を以下に変更してください。

date.timezone = Europe/Berlin → date.timezone = Asia/Tokyo

日本語の設定

日本語は、mbstring(マルチバイトストリング)で指定します。

以下の記述のある行のコメントを外し(;を削除)、必要な変更をします。

「default_charset」で検索してください。

715行目 デフォルトキャラクターセットがUTF-8になっていることを確認してください。

「mbstring」で検索してください。

1672行目 日本語(漢字)の有効化

;mbstring.language = Japanese → mbstring.language = Japanese

1679行目 日本語コードをUTF-8に指定

;mbstring.internal_encoding =

 → mbstring.internal_encoding = UTF-8

1687行目 httpインプット時にコード変換しないように指定

;mbstring.http_input =  → mbstring.http_input = pass

1697行目 httpアウトプット時にコード変換しないように指定

;mbstring.http_output =  → mbstring.http_output = pass

1705行目 コード変換を無効に指定・・・コメントを外しoffのまま

;mbstring.encoding_translation = Off → mbstring.encoding_translation = Off

1715行目 文字コードの判別順序・・・UTF-8を最初に指定

;mbstring.detect_order = auto → mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII

1717行目 コード変換ができなかった場合の設定・・・コメントを外しnoneのまま

;mbstring.substitute_character = none; → mbstring.substitute_character = none;

1718行目 文字コード判別を厳密に行うか否かの指定・・コメントを外しOffのまま

;mbstring.strict_detection = Off → mbstring.strict_detection = Off

PHPのマルチバイト環境の設定により、文字化けが発生します。
     参考になるサイト 問題のまとめ

マジッククオートの確認

入力フォームから「”」や「’」を入力した場合に、安全のため、自動的に変換(エスケープ処理と呼ばれる)され、\になる機能です。最新のPHPでは、この機能は認めていませんので、Offにしておきます。

エスケープ処理は、アプリケーションで行います。

「magic_quotes」で検索してください。

981行目から magic_quotesの設定が3つありますので、Offになっていることを確認しいてください。

magic_quotes_gpc = Off
magic_quotes_runtime = Off
magic_quotes_sybase = Off

なお、レンタルサーバでは、onになっている可能性があります。この場合には、設定変更が必要です。

phpのショートオープンタグを無効に

既定では、スクリプトの<? と ?>で囲まれた部分をphp記述とみなします。このままでは、xhtmlの宣言 <?xml version="1.0" encoding="UTF-8"?> もphpとみなしますので、エラーになります。(<?を開始タグとみなします。・・・ショートオープンタグ)

この設定をOff にすると、<?PHPのみを開始タグとみなすようになります。

「short_open_tag」で検索してください。

198行目にshort_open_tag が設定されています。以下を確認して下さい。

short_open_tag = Off

エラー情報表示の修正と確認

「error_reporting」で検索してください。

489行目

error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT → error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED | E_STRICT

に変更してください。(~はチルダです)

変数の未定義などのエラーではない注意(Noticeレベルなど)については、メッセージを表示しないようにします。

「display_errors」で検索してください。

506行目

display_errors = On

になっていることを確認してください。

Onになっていると、phpでエラーになった場合、そのエラーメッセージを表示します。Offにすると、エラーメッセージが表示されませんので、プログラムのテストには不都合が生じます。

なお、本番環境では、システムのセキュリティ対策上、Offにします。(Onにしておくと、スクリプト名やデータベース名が外部に公開される可能性があります)

レジスターグローバルズの確認

「register_globals」で検索してください。

979行目

register_globals = Off

になっていることを確認してください。

Onになっていると、セキュリティ上問題が発生しますので、必ずOffにしてください。
上書き保存します。

これでApacheとPHPの設定が完了しました。