PHPの開発環境をEclipse IDEで構築しようと取り掛かったわけですが、予想通り構築に手間取ったので、そのときの記録です。
XAMPPのApacheにより作成したローカルホストにアクセスできない問題を解決します。具体的にはEclipse IDEにて作成したPHPファイルがローカルホストに表示できず、404エラーが発生してしまいました。
結果からいうと、ApacheのDocumentRootと、Eclipceのワークスペースのパスを同じにすることで解決できました。
開発環境
Windows 10
XAMPP v3.2.4
Apache v2.2.41(Win64)
Eclipse 2019-12
PHP v7.4.1
Eclipseで環境構築する際は、ワークスペースの場所が重要です。Apacheでローカルホストを作成する場合、Apacheがローカルホストへ描写するドキュメントファイル(html, phpなど)の参照場所が、Eclipceのワークスペースと同じ場所にする必要があります。
XAMPP Apacheのドキュメントルートを確認する
XAMPPでApacheをインストールした際、デフォルトでは以下のパスがドキュメントルートとなっています。
<Apacheドキュメントルート(デフォルト)>
C:\xampp\htdocs
(Cドライブ直下へXAMPPをインストールした場合です。)
このドキュメントルートは、XAMPPのApache Config > Apache(httpd.conf)で編集できます。
httpd.confはC:\xampp\apache\conf\httpd.confのパスからも確認できます。
httpd.confをテキストエディタで開き、252行あたりに以下のような記述があります。
1 2 3 4 5 |
# DocumentRoot: The directory out of which you will serve your # documents. By default, all requests are taken from this directory, but # symbolic links and aliases may be used to point to other locations. # DocumentRoot "C:\xampp\htdocs" |
最後の行のダブルコーテーションで囲まれたパスがドキュメントルートになります。#コメント文にはsymbolic links やaliasesを使うことでドキュメントルートを他の場所に設定できるとありますが、初心者の場合はこのDocumentRootを設定するのが無難だと思います。
また、DocumentRoot~~の直下に以下の記述があります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<Directory "C:\xampp\htdocs"> # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.4/mod/core.html#options # for more information. # Options Indexes FollowSymLinks Includes ExecCGI # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # AllowOverride FileInfo AuthConfig Limit # AllowOverride All # # Controls who can get stuff from this server. # Require all granted </Directory> |
重要なのは、最下行DocumentRoot “C:\xampp\htdocs“と、最上行の<Directory “C:\xampp\htdocs“>です。
デフォルトでは、C:\xampp\htdocsですが、この2か所のパスを直接書き換えることで、ドキュメントルートを変更できます。
EclipceのワークスペースをApacheのドキュメントルートへ設定
Apacheのドキュメントルートを確認したところで、Eclipseのワークスペースを設定していきましょう。
<Eclipseのワークスペースの切り替え>
1.ファイル > ワークスペースの切り替え > その他
2. EclipseのワークスペースをApacheドキュメントルートに設定
ワークスペース(W)横の参照から、Apacheのドキュメントルート(デフォルトではC:\xampp\htdocs)を設定します。
起動を押すと、Eclipseが再起動します。
3.Eclipseからローカルホストへアクセスできるか確認
Eclipseの旧ワークスペースで作成したProjectファイルはApacheのドキュメントルートへコピペするだけでは使えませんでした。今回はHelloWorldしか書いていなかったのでプロジェクトを新規作成し、ローカルホストへアクセスできるか確認してみました。
PHPファイルを作成し、右クリック > 実行 > PHP Webアプリケーション
URLの並びは、http://localhost/プロジェクト名/ファイル名.phpになります。
http://localhostのパス=Apacheのドキュメントルート(C:\xampp\htdocs)のようになっているわけですね。
無事ローカルホストへアクセスできました!
以上になります。最後まで読んでいただきありがとうございました。