// 
//     Licensed to the Apache Software Foundation (ASF) under one
//     or more contributor license agreements.  See the NOTICE file
//     distributed with this work for additional information
//     regarding copyright ownership.  The ASF licenses this file
//     to you under the Apache License, Version 2.0 (the
//     "License"); you may not use this file except in compliance
//     with the License.  You may obtain a copy of the License at
// 
//       http://www.apache.org/licenses/LICENSE-2.0
// 
//     Unless required by applicable law or agreed to in writing,
//     software distributed under the License is distributed on an
//     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
//     KIND, either express or implied.  See the License for the
//     specific language governing permissions and limitations
//     under the License.
//

= WindowsでのPHP開発環境の構成
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: WindowsでのPHP開発環境の構成 - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, WindowsでのPHP開発環境の構成

このチュートリアルでは、Windowsオペレーティング・システムでPHP開発環境を構成する2つの方法を示します。1つ目の最も便利な方法は、AMP (*A*pache、*M*ySQL、*P*HP)パッケージをインストールして構成することです。このチュートリアルでは、XAMPPパッケージをインストールする方法を示します。2つ目の方法は、各コンポーネントを個別にインストールして構成することです。


*このチュートリアルに従うには、次のソフトウェアとリソースが必要です。*

|===
|ソフトウェアまたはリソース |必須バージョン 

|link:https://netbeans.org/downloads/index.html[+NetBeans IDE+] |PHPダウンロード・バンドル 

|PHPエンジン |バージョン5。link:http://www.apachefriends.org/en/xampp-windows.html[+XAMPP-Windows+]に含まれている。 

|Webサーバー |link:http://httpd.apache.org/download.cgi[+Apache HTTP Server 2.2+] (推奨)
XAMPP Windowsに含まれている。 

|データベース・サーバー |link:http://dev.mysql.com/downloads/mysql/5.1.html[+MySQL Server 5.0+] (推奨)
XAMPP Windowsに含まれている。 

|PHPデバッガ(オプション) |link:http://www.xdebug.org[+XDebug 2.0以降。+]
 
|===

一般に、ローカルWebサーバーで開発およびデバッグが実行され、リモートWebサーバーに本番環境が置かれます。リモートWebサーバーの設定は、link:./remote-hosting-and-ftp-account.html[+NetBeans IDEを使用したリモートWebサーバーへのPHPアプリケーションのデプロイ+]で説明されています。このチュートリアルでは、ローカルWebサーバーの設定を行います。PHPのサポートは、いくつかのローカルWebサーバー(IIS、Xitamiなど)に追加できますが、最も一般的に使用されるのはlink:http://httpd.apache.org/download.cgi[+Apache HTTP Server+]です。Apache HTTPサーバーは、このチュートリアルで使用するXAMPP AMPパッケージに含まれています。スタンドアロンのApache HTTPサーバーのインストールと構成については、link:http://httpd.apache.org/docs/2.2/install.html[+ここ+]をクリックしてください。


== 必要なソフトウェア

PHPプロジェクトを作成、実行、およびデバッグするには、次のソフトウェアが必要です。

* PHP向けのNetBeans IDE。link:https://netbeans.org/downloads/index.html[+ここ+]からダウンロードできます。
* Webサーバー。一般に、ローカルWebサーバーで開発およびデバッグが実行され、リモートWebサーバーに本番環境が置かれます。現在のバージョンではローカル・サーバーを使用できます。将来のバージョンで、FTPアクセスによるリモート・サーバーの使用がサポートされる予定です。PHPのサポートは、いくつかのWebサーバー(IIS、Xitamiなど)に追加できますが、最も一般的に使用されるのはlink:http://httpd.apache.org/download.cgi[+Apache HTTP Server+]です。Apache 2.2をインストールして構成する方法については、link:http://httpd.apache.org/docs/2.2/install.html[+ここ+]をクリックしてください。

* PHPエンジン。サポートされているバージョンは、PHP5です。link:http://www.php.net/downloads.php[+ここ+]からダウンロードできます。
* PHPデバッガ。PHP向けのNetBeans IDEではlink:http://www.xdebug.org[+XDebug+]を使用できますが、デバッガの使用はオプションです。PHP5と互換性があるため、推奨バージョンはXDebug 2.0以降です。
* データベース・サーバー。様々なデータベース・サーバーを使用できますが、最もポピュラなサーバーはMySQLサーバーです。link:http://dev.mysql.com/downloads/mysql/5.1.html[+ここ+]からダウンロードできます。
NOTE:  製品の推奨バージョンはMySQL Server 5.0です。提供されているドキュメントでは、このバージョンでの操作を説明します。

インストールした後、すべてのソフトウェア・コンポーネントが互いに適切に機能する環境を設定する必要があります。

必要なソフトウェアが含まれている<<XAMPP,パッケージ>>を使用するか、または<<installComponentsSeparately,各コンポーネントを個別にインストール>>できます。


== AMPパッケージの使用

PHPエンジン、Apache HTTP Server、およびMySQLデータベース・サーバーのすべての構成設定を自動的に指定するには、AMPパッケージを使用します。このチュートリアルでは、link:http://www.apachefriends.org/en/xampp-windows.html[+XAMPP-Windows+]パッケージの場合の手順を示します。WAMPパッケージについては、link:http://wiki.netbeans.org/HowToConfigureXDebug[+XDebugに関するNetBeans Wiki+]を参照してください。


=== XAMPPパッケージのインストールと構成

この項では、XAMPPパッケージをダウンロード、インストール、および構成する方法について説明します。

*警告:* XAMPP 1.7.0は使用しないでください。このバージョンは、XDebugに重大な問題があります。それらの問題が修正されているバージョン1.7.1以降を使用してください。

NOTE: XAMPP 1.7.2以降では、XAMPPにはPHP 5.2.xではなくPHP 5.3が付属しています。PHP向けのNetBeans IDEバージョン6.7.xは、PHP 5.3の新機能をサポートしていません。PHP向けのNetBeans IDE 6.8は、現在、PHP 5.3を完全にサポートする開発ビルドとして使用できます。また、PHP 5.2.xとPHP 5.3では、XDebugのインストールも異なります。

1. link:http://www.apachefriends.org/en/xampp-windows.html[+XAMPP+]インストーラ・パッケージをダウンロードします。(XAMPP LiteにはXDebugは含まれません。)
2. ダウンロードが完了したら、 ``.exe`` ファイルを実行します。

Microsoft Vistaの場合、ユーザー・アクセス制御機能により、PHPインストーラはApache httpdの構成を更新できません。XAMPPをインストールしている間は、UACを無効にします。詳細は、link:http://support.microsoft.com/kb/922708[+Microsoftのサポート+]を参照してください。


[start=3.]
. ApacheサーバーとMySQLデータベース・サーバーをサービスとしてインストールするオプションがあります。ApacheサーバーとMySQLをサービスとしてインストールすると、これらをXAMPPコントロール・パネルから手動で起動する必要がありません。サービスは、<<xamppConstolPanel,XAMPPコントロール・パネル>>でインストールまたはアンインストールできます。

[start=4.]
. 自己抽出型アーカイブを使用する場合は、アーカイブの抽出後に ``setup-xampp.bat`` ファイルを実行して、パッケージのコンポーネントを構成します。(XAMPPのインストーラではこのファイルが自動的に実行されます。)

[start=5.]
. 構成が完了したら、XAMPPコントロール・パネルを開きます。(これを開くには、 ``XAMPP_HOME/xampp-control.exe`` ファイルを手動で実行するか、デスクトップに自動的に配置されるXAMPPコントロール・パネルのアイコンを使用します。)XAMPPコントロール・パネルを開くとき、サービスとしてインストールされたモジュールはすでに実行されています。

*警告:* Windows Vistaでは、 ``xampp-control.exe`` が実行されない場合があります。かわりに ``xampp-start.exe`` を実行できます。

*警告: *MySQLの「管理ツール」ボタンによって実行される ``winmysqladmin.exeファイル`` は動作しません。複数のエラー・メッセージがカスケード表示され、これらのメッセージを停止するには、 ``winmysqladmin`` プロセスを手動で終了します。 ``winmysqladmin.exe`` はコマンド行からも実行できません。link:http://bugs.xampp.org/view.php?id=71[+http://bugs.xampp.org/view.php?id=71+]を参照してください。

image::images/xampp-control-panel.png[]


[start=6.]
. 「サービス」チェックボックスは、モジュールがWindowsのサービスとしてインストールされ、システムの起動時に自動的に起動することを示します。「サービス」チェックボックスを選択または選択解除することで、Windowsのサービスをインストールまたはアンインストールできます。Windowsのサービスをアンインストールしても、モジュールはアンインストールされませんが、モジュールを手動で起動する必要があります。XAMPPコントロール・パネルには、モジュールを停止または起動したり、その管理コンソールを開くためのボタンがあります。


=== XAMPPのインストールの確認

1. ブラウザを起動し、URLに ``http://localhost`` と入力します。XAMPPの開始ページが開きます。

image::images/xampp-welcome-page.png[]


[start=2.]
. ApacheおよびMySQLサーバーがシステム・サービスとしてインストールされていることを確認するには、オペレーティング・システムを再起動してブラウザを起動し、もう一度URLに ``http://localhost`` と入力します。XAMPPの開始ページが開きます。XAMPPの開始ページの左マージンにはメニューが表示されており、これらのメニューを使用して様々な便利機能の中から、XAMPPコンポーネントのステータスを確認したり、 ``phpinfo()`` を実行したりできます。 ``phpinfo()`` は、XAMPPコンポーネントの構成情報が表示された画面を返します。

image::images/xampp-phpinfo.png[]


=== XDebugデバッガのインストールと有効化

XDebugを使用するようにPHPスタックを構成する必要があります。PHP 5.2.6をバンドルする<<xdebug-xampp-171,XAMPP 1.7.1>>を使用している場合と、PHP 5.3をバンドルする<<xdebug-xampp-172,XAMPP 1.7.2>>を使用している場合では、プロセスが異なります。

多くのユーザーが、システムでXDebugを正常に動作させるのに困難を経験しています。支援が必要な場合は、link:http://wiki.netbeans.org/HowToConfigureXDebug[+Wiki+]およびlink:http://forums.netbeans.org/viewforum.php?f=13&sid=5b63e6774fe7859b5edd35b1192d8efd[+NetBeans PHPエディタのユーザー・フォーラム+]を参照してください。


[[xdebug-xampp-171]]
==== XAMPP 1.7.1 (PHP 5.2)でのXDebug

XDebugをダウンロードして、.dllファイルをphpの拡張ディレクトリに配置し、このファイルを検索して使用するようにphp.iniを構成します。

1. PHPのバージョンと互換性がある、最新の_スレッド・セーフ_なlink:http://www.xdebug.org/download.php[+XDebug+]をダウンロードします。「Releases」の下に、ダウンロード・リンクが一覧表示されています。 ``.dll`` ファイルを ``XAMP_HOME/php/ext`` ディレクトリにコピーします。( ``XAMPP_HOME`` は、 ``C:\Program Files\xampp`` や ``C:\xampplite`` などの、XAMPPまたはXAMPP Liteのインストール・ディレクトリです。)
2. XAMPPのアクティブな ``php.ini`` ファイルを検索して開きます。このファイルはデフォルトで ``XAMPP_HOME/apache/bin`` ディレクトリにあります。アクティブな ``php.ini`` ファイルを確認するには、 ``phpinfo()`` を実行し、「Loaded Configuration File」を検索します。
3. ZendオプティマイザはXDebugをブロックするため、Zendオプティマイザを無効にする必要があります。アクティブな ``php.ini`` ファイル内で次の行を検索し、削除するか、またはコメントとしてマークします(安全のためには、Zendに関連するすべてのプロパティを検索してコメントアウトします)。

[source,ini]
----

[Zend]
;zend_extension_ts = "C:\Program Files\xampp\php\zendOptimizer\lib\ZendExtensionManager.dll"
;zend_extension_manager.optimizer_ts = "C:\Program Files\xampplite\php\zendOptimizer\lib\Optimizer"
;zend_optimizer.enable_loader = 0
;zend_optimizer.optimization_level=15
;zend_optimizer.license_path =

----

[start=4.]
. XDebugをPHPエンジンにアタッチするには、 ``php.ini`` ファイルで次の行のコメントを解除します(これらの行は[Zend]セクションのすぐ下にあり、ない場合は追加します)。追加のコメントがいくつか追加されています。

[source,ini]
----

[XDebug]; Only Zend OR (!) XDebug
zend_extension_ts = "./php/ext/php_xdebug<-version-number>.dll"
; XAMPP and XAMPP Lite 1.7.0 and later come with a bundled xdebug at <XAMPP_HOME>/php/ext/php_xdebug.dll, without a version number.xdebug.remote_enable=1xdebug.remote_host=127.0.0.1xdebug.remote_port=9000
; Port number must match debugger port number in NetBeans IDE Tools > Options > PHPxdebug.remote_handler=dbgpxdebug.profiler_enable=1xdebug.profiler_output_dir="<XAMPP_HOME>\tmp"
----

 ``xdebug.remote_enable`` プロパティは1に設定し、trueやその他の値には設定しないでください。

NOTE:  指定するパスは、インストール時に定義した対応するファイルの場所と一致していることを確認してください。


[start=5.]
.  ``php.ini`` を保存します。

[start=6.]
. <<xamppConstolPanel,XAMPPコントロール・パネル・アプリケーション>>を実行し、Apacheサーバーを再起動します。
XDebugの構成方法の詳細は、link:http://wiki.netbeans.org/HowToConfigureXDebug[+Wiki+]およびlink:http://www.xdebug.org/docs/install[+XDebugのドキュメント+]を参照してください。


[[xdebug-xampp-172]]
==== XAMPP 1.7.2 (PHP 5.3)でのXDebug

XAMPP 1.7.2には適切なXDebugの.dllファイルがバンドルされています。これを使用するには、 ``php.ini`` の構成のみを行います。XDebugのすべての設定には、それらを説明するテキストがあります。

1. 編集するために、 ``XAMPP_HOME\php\php.ini`` を探して開きます。これはXAMPP 1.7.2で唯一の ``php.ini`` ファイルです。
2.  ``zend_extension="XAMPP_HOME\php\ext\php_xdebug.dll"`` 行を探してコメント解除します。
3.  ``xdebug.remote_host=localhost`` 行を探してコメント解除します。設定の値を ``localhost`` から ``127.0.0.1`` に変更します。
4.  ``xdebug.remote_enable=0`` 行を探してコメント解除します。0を1に変更します。
5.  ``xdebug.remote_handler="dbgp"`` 行を探してコメント解除します。
6.  ``xdebug.remote_port=9000`` 行を探してコメント解除します。
7.  ``php.ini`` を保存します。
8. <<xamppConstolPanel,XAMPPコントロール・パネル・アプリケーション>>を実行し、Apacheサーバーを再起動します。

XDebugの構成方法の詳細は、link:http://wiki.netbeans.org/HowToConfigureXDebug[+Wiki+]およびlink:http://www.xdebug.org/docs/install[+XDebugのドキュメント+]を参照してください。


== コンポーネントの個別のインストール


=== Apache HTTP Server

1. link:http://httpd.apache.org/download.cgi[+Apache2 HTTPサーバー+]をダウンロードします。
2.  ``.msi`` インストール・ファイルを実行します。インストール・ウィザードが起動します。その指示に従います。

Microsoft Vistaでは、Apacheサーバーをデフォルトの場所である「Program Files」にインストールしないでください。「Program Files」内のファイルはすべて書込み保護されます。


[start=3.]
. インストールが完了したら、Apacheサーバーを再起動します。

[start=4.]
. インストールが正常に終了したことを確認するには、ブラウザを起動し、次のURLを入力します。

[source,ini]
----

  http://localhost/
----
Apacheの開始のテスト・ページが開きます。

image::images/install-apache-it-works-port80.png[]


==== トラブルシューティング

デフォルトでは、Apacheサーバーはポート80を待機しています。このポートは、他のサービス(たとえばSkype)によってすでに使用されている可能性があります。この問題を解決するには、サーバーが待機しているポートを変更します。

1. Apache Webサーバーの構成ファイルの ``httpd.conf`` を開きます。デフォルトでは、このファイルは ``C:\Program Files\Apache Software Foundation\Apache<version>\conf\`` にあります。
2.  ``Listen 80`` の行を検索し、ポート番号を変更します(たとえば ``8080`` )。ファイルを保存します。
3. Apache Webサーバーを再起動します。
4. Webサーバーが機能していることを確認するには、ブラウザを起動してURLを入力し、ポート番号を次のように明示的に指定します。 ``http://localhost:8080`` 。

ポート80を待機する可能性があるプロセスを停止することもできます。タスク・マネージャで関連するファイル名を選択し、「プロセスの終了」をクリックします。

サーバーのインストールと構成については、link:http://httpd.apache.org/docs/2.2/install.html[+ここ+]を参照してください。


=== PHPエンジン

1. 選択したPHP5バージョンのlink:http://windows.php.net/download/[+Windowsバイナリ・インストーラ+]をダウンロードします。

*重要: *インストールするPHPバージョンのインストーラがない場合は、.zipファイルから手動でインストールする必要があります。php.netドキュメントのlink:http://php.net/manual/en/install.windows.manual.php[+手動による手順+]を参照してください。


[start=2.]
. ダウンロードが完了したら、 ``.msi`` インストール・ファイルを実行します。インストール・ウィザードが起動します。

[start=3.]
. 「Apache Configuration Directory」パネルで、 ``httpd.conf`` があるディレクトリを指定します(デフォルトの設定は、 ``C:\Program Files\Apache Software Foundation\Apache<version>\conf\`` です)。PHP処理が自動的に有効になります。

[start=4.]
. MySQLデータベース・サーバーを使用する場合は、「Complete」インストール・オプションを選択するか、「Extensions」リストでMySQLとMySQLiの項目を選択します。

[start=5.]
. インストールが完了した後、Apacheサーバーを再起動します。

[start=6.]
. PHPエンジンが正常にインストールされていること、およびApache構成でPHP処理が有効になっていることを確認するには:
* メモ帳または他のテキスト・エディタを開きます。ファイルを作成し、次のテキストを入力します。

[source,php]
----

<?php 
     echo "PHP has been installed successfully!";
?>
----
* htdocsフォルダにファイルを`test.php`として保存します。デフォルト・パスは、 ``C:\Program Files\Apache Software Foundation\Apache<version>\htdocs\test.php`` です。
* ブラウザを起動し、URLに ``http://localhost:<port>/test.php`` と入力します。次のページが開きます。

image::images/install-php-test.png[]


==== トラブルシューティング

ページが開かない場合は、次の手順に従います。

1. Apacheサーバーを再起動します。
2. Apacheサーバーの構成ファイルのhttpd.confに次の行が含まれていることを確認します。

[source,ini]
----

  AddType Application/x-httpd-php .php 
  LoadModule php5_module "c:/php/sapi/php5apache2_2.dll"
----

[start=3.]
. 行が見つからない場合は行を追加し、 ``httpd.conf`` を保存してApacheを再起動します。

[start=4.]
. http://localhost:<port>/test.phpのページをリフレッシュします。


=== MySQLデータベース・サーバー

詳細は、link:../ide/install-and-configure-mysql-server.html[+MySQLデータベース・サーバーのインストールと構成+]を参照してください。


=== XDebug

1. link:http://www.xdebug.org[+XDebug+]をダウンロードします。
2.  ``php/`` フォルダにXDebugをインストールします。<<settingUpEnvironment,環境を構成>>するには、ここへのパスが必要になります。


=== 環境の設定


[start=1.]
. デフォルトの設定に従ってインストールを実行した場合、PHP処理は自動的に有効になります。

[start=2.]
. XDebugをPHPエンジンにアタッチするには、 ``php.ini`` ファイルを検索して次の行を追加します。

*スレッド・セーフ*なPHP 5.2エンジンの場合:


[source,ini]
----

zend_extension_ts="<path to the php folder>/php_xdebug-<version-number>.dll"
xdebug.remote_enable=1
----

*スレッド・セーフでない* PHP 5.2エンジンの場合:


[source,ini]
----

zend_extension_nts="<path to the php folder>/php_xdebug-<version-number>.dll"
xdebug.remote_enable=1
----

*任意の*PHP 5.3エンジンの場合:


[source,ini]
----

zend_extension="<path to the php folder>/php_xdebug-<version-number>.dll"
xdebug.remote_enable=1
----

ユーザーによっては、次の行を追加する必要がある場合と、そうでない場合があります。


[source,ini]
----

xdebug.remote_host=127.0.0.1xdebug.remote_port=9000
; Port number must match debugger port number in NetBeans IDE Tools > Options > PHPxdebug.remote_handler=dbgp
----

XDebugの構成方法の詳細は、link:http://www.xdebug.org/docs/install[+ここ+]をクリックしてください。

NOTE:  指定するパスは、インストール時に定義した対応するファイルの名前および場所と一致していることを確認してください。


[start=3.]
. 前にインストールしたPHPエンジンがMySQLデータベース・サーバーの使用をサポートしていることを確認するには:

1. 「スタート」>「コントロール パネル」をクリックします。
2. 「コントロール パネル」で「プログラムの追加と削除」を選択します。
3. 「プログラムの追加と削除」パネルで、PHP <バージョン番号>領域を選択し、「変更」をクリックします。PHPセットアップ・ウィザードが起動します。「次」をクリックします。
4. 「インストールの変更、修復、または削除」パネルで「変更」を選択し、「次」をクリックします。
5. 「Web Server Setup」パネルで、Apacheサーバーのバージョンを選択します(この例では、Apache 2.2モジュール)。「次」をクリックします。
6. 「Apache Configuration Directory」パネルで、Apacheの構成ファイルの ``httpd.conf`` を配置するディレクトリを指定します。「次」をクリックします。
7. 「Choose Items to Install」パネルで「Extensions」ノードを展開し、MySQLとMySQLiの項目を選択します。「次」をクリックします。
8. 「Ready to change PHP <version number>」パネルで、「Change」をクリックします。
9. 「Completed the PHP <version number> Setup Wizard」パネルで、「完了」をクリックします。

link:/about/contact_form.html?to=3&subject=Feedback:%20Configuring%20PHP%20on%20Windows[+このチュートリアルに関するご意見をお寄せください+]


link:../../../community/lists/top.html[+users@php.netbeans.orgメーリング・リストに登録する+]ことによって、NetBeans IDE PHP開発機能に関するご意見やご提案を送信したり、サポートを受けたり、最新の開発情報を入手したりできます。

link:../../trails/php.html[+PHPの学習に戻る+] 

