// 
//     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.
//

= MAC OS XでのPHP開発用のPHP、Apache、MySQLおよびXdebugの構成
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: MAC OS XでのPHP開発用のPHP、Apache、MySQLおよびXdebugの構成 - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, MAC OS XでのPHP開発用のPHP、Apache、MySQLおよびXdebugの構成

このチュートリアルでは、link:http://www.mamp.info/en/index.php[+MAMP+] (*M*acintosh、* A*pache、*M*ySQL、*P*HP)パッケージ(Apache Webサーバー、MySQLデータベース・サーバーおよびPHPエンジンを含む)でPHPを設定する方法を示します。MAMPはMac用のPHP開発環境で、NetBeans IDEとシームレスに連携できます。

link:http://www.Xdebug.org/[+Xdebug+]はPHPの拡張機能で、PHPスクリプトをデバッグするための有用な情報を提供します。NetBeansデバッガはXdebug拡張上で機能し、開発環境に効率的なデバッグ・ツールを提供します。

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

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

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

|link:http://www.oracle.com/technetwork/java/javase/downloads/index.html[+Java Development Kit (JDK)+] |7または8 

|link:http://www.mamp.info/en/download.html[+MAMP+] |1.7.x 

|link:http://www.Xdebug.org/download.php[+Xdebug+](オプション) |2.x 
|===

NOTE: MAMPパッケージにはApache Webサーバー、PHPエンジン、MySQLデータベースが含まれます。Mac OS X 10.5以降には、PHPサポート付きのMySQLデータベースとApacheサーバーが含まれます。IDEで組込みデータベースおよびサーバーを構成することは可能ですが、MAMPのオールインワン・バンドルで簡便かつ容易に構成可能なソリューションが提供されます。


== MAMPのインストールと構成

1. link:http://www.mamp.info/en/download.html[+MAMP+]の最新バージョンをダウンロードします。
2. ダウンロードしたファイルを解凍し、`.dmg`ファイルを実行します。インストーラが表示されたら、MAMPを`/Applications`フォルダにドラッグします。

image::images/mamp-install.png[title="MAMPおよびMAMP-Proオプションを示すMAMPインストーラ・パネル"]


[start=3]
. `/Applications/MAMP`に移動して`MAMP.app`をダブルクリックします。MAMPコントロール・パネルが開きます。

`MAMP/README.rtf`に説明されているとおりにMAMPコントロール・ダッシュボード・ウィジェットをインストールし、サーバーを起動および停止することもできます。 

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


[start=4]
. 「プリファレンス」をクリックして「プリファレンス」パネルを開き、「ポート」タブを選択します。

[start=5]
. 「デフォルトのApacheおよびMySQLポートに設定」をクリックします。Apacheポートは80に、MySQLは3306にリセットされます。

image::images/mamp-control-panel-preferences-ports.png[title="ポートをデフォルト値に変更した後のMAMPコントロール・パネルと「ポート」タブ"]


== MAMPのMySQLデータベースの登録

MAMPのMySQLデータベースは、デフォルトでは`/Applications/MAMP/db/MySQL`にあります。デフォルトのユーザー名とパスワードは両方とも`root`です。これは、MAMPの実行時にブラウザで開かれるMAMPのようこそページに詳細を表示して確認できます。

IDEは「サービス」ウィンドウ(⌘-5)でデータベースと接続します。次の手順を実行して、MAMPのMySQLデータベースを登録できます。

1. 「データベース」>MySQLサーバー・ノードを右クリックして、「プロパティ」を選択します。「MySQLサーバー・プロパティ」ダイアログ・ボックスが表示されます。このダイアログで、すべてのMySQL設定を構成できます。
2. データベース・サーバーのホスト名とポート番号およびユーザー名とパスワードを入力します。これらの情報はすべて、サーバーおよびデータベースの実行時にMAMPのようこそページに表示されます。MAMPをローカルで実行するためのデフォルト設定は次のとおりです。

* *サーバー・ホスト名: *`localhost`
* *サーバー・ポート番号: *`3306`
* *管理ユーザー名: *`root`
* *管理パスワード: *`root`

image::images/mysql-basic-properties.png[title="MAMPのデフォルト接続設定を含むMySQL基本プロパティ・ダイアログ"]


[start=3]
. 「管理プロパティ」タブを選択して、IDEからデータベース・サーバーを起動および停止するための設定を表示します。MAMPでは、`bin`フォルダにシェル・スクリプトが保持されます。ここで、サーバーを起動および停止するためのスクリプトを見つけることができます。管理ツールのパスに`MAMP.app`へのリンクを設定し、IDEを使用してMAMPのコントロール・パネルを開くことができます。これを行うには、`/Applications/MAMP/MAMP.app`を入力します。かわりに、管理操作(MySQLサーバーの構成およびモニタリング、ユーザーおよび接続の管理、バックアップの実行など)を実行するための直感的なGUIインタフェースが備えられたlink:http://dev.mysql.com/downloads/workbench/[+MySQL Workbench+]を使用することもできます。 MySQL Workbenchを使用するには、まずダウンロードおよびインストールし、次の設定をダイアログに入力します。

* *管理ツールのパス/URL: *`/Applications/MySQL Tools/MySQLWorkbench.app` _(MySQL Workbenchのデフォルト・インストール)_
* *startコマンドのパス: *`/Applications/MAMP/bin/startMysql.sh`
* *stopコマンドのパス: *`/Applications/MAMP/bin/stopMysql.sh`

image::images/mysql-admin-props.png[title="サンプルの管理設定を含むMySQL管理プロパティ・ダイアログ"]


[start=4]
. MySQL WorkbenchをMySQL管理ツールとして使用する場合は、MAMPのデータベースへの接続用のソケットを指定する必要があります。MySQL Workbenchを起動し、メイン・ページでサーバー管理列の新規サーバー・インスタンスをクリックします。

image::images/mysql-workbench-home.png[]


[start=5]
. 「新規サーバー・インスタンス・プロファイルの作成」ダイアログが開きます。ローカル・ソケット/パイプ接続方法を選択し、ソケット・ファイルのパスを「パラメータ」タブに追加します。ソケットのデフォルトの場所は`/Applications/MAMP/tmp/mysql/mysql.sock`です。

image::images/socket-path.png[]


[[phpProject]]
== PHPプロジェクトの作成

MAMPのリソースを使用してIDEでPHPプロジェクトを作成する場合、IDEでソースをApacheの`htdocs`フォルダにコピーするよう指定する必要があります。このようにして、変更後にファイルを保存する際に、ソースが自動的にデプロイ後バージョンで更新されます。

たとえば、新しいPHPプロジェクトの作成時に、新規プロジェクト・ウィザードを使用します(IDEのツールバーで「新規プロジェクト」アイコンをクリック(image:images/new-project-icon.png[]))。ウィザードの3番目の手順「実行構成」で、「ファイルをソース・フォルダから別の場所にコピー」オプションを選択し、`htdocs`フォルダのパスを入力します。

[.feature]
--
image::images/new-php-project.png[role="left", link="images/new-php-project.png"]
--

IDEは今後のプロジェクトのために、この場所を記憶します。NetBeans IDEでPHPプロジェクトを作成する手順の詳細は、link:project-setup.html[+PHPプロジェクトの設定+]を参照してください。


== MAMPでのXDebugの有効化

MAMPには、プリコンパイルされた ``xdebug.so`` ファイルが含まれます。このファイルを使用するには、MAMPの ``php.ini`` で有効化します。また、XdebugはZendオプティマイザと一緒に動作しないため、 ``php.ini`` でZendオプティマイザを無効にする必要があります。

*MAMPでXDebugを有効化するには:*

1. エディタで`php.ini`ファイルを開きます。このファイルは次の場所にあります。

`/Applications/MAMP/conf/php5/php.ini`

[start=2]
.  ``[Zend]`` セクションを見つけて、各行をコメントにします。

[source,ini]
----

;[Zend]
;zend_optimizer.optimization_level=15
;zend_extension_manager.optimizer=/Applications/MAMP/bin/php5/zend/lib/Optimizer-3.3.3
;zend_optimizer.version=3.3.3
 
;zend_extension=/Applications/MAMP/bin/php5/zend/lib/ZendExtensionManager.so
----

[start=3]
.  ``[xdebug]`` セクションを見つけて、Xdebugをアクティブ化します(`xxxxxxxx`を実際の数値に置き換えます)。このセクションが ``php.ini`` の末尾にない場合は追加します。

[source,ini]
----

[xdebug]
 
xdebug.default_enable=1
 
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_autostart=1
 
zend_extension="/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-xxxxxxxx/xdebug.so"
----
これらのプロパティの説明については、link:http://www.Xdebug.org/docs/remote[+Xdebugリモート・デバッグ+]・ドキュメントの関連する設定を参照してください。

[start=4]
. 前の手順でXdebugに指定されたリモート・ポートは9000です。これは、NetBeansで使用されるデフォルトのデバッガ・ポートです。これを確認するには、メイン・メニューから「NetBeans」>「プリファレンス」を選択し、「オプション」ウィンドウで「PHP」を選択します。

image::images/php-options68.png[title="デバッガ・ポートは、「PHPオプション」ウィンドウで設定できます。"] 

必要に応じて、ここでデバッガ・ポートを変更できます。

[start=5]
. MAMPコントロール・パネルを開き、「PHP」タブを選択します。Zendオプティマイザを選択解除します。

image::images/mamp-control-panel-preferences-php.png[title="Zendオプティマイザを選択解除した後のMAMPコントロール・パネルと「PHP」タブ"]


[start=6]
. MAMP Apacheサーバーを起動(または再起動)します。


== PHPプロジェクトのデバッグ

IDEでPHPプロジェクトをデバッグするには、「プロジェクト」ウィンドウでプロジェクトを右クリックして「デバッグ」を選択します。プロジェクトが「プロジェクト」ウィンドウで強調表示されている場合は、メイン・ツールバーで「プロジェクトのデバッグ」アイコン(image:images/debug-icon.png[])をクリックできます。

<<phpOptions,「PHPオプション」ウィンドウ>>でこのオプションを有効にすることで、コードの最初の行でデバッガを一時停止するよう設定できます。

デバッガ・セッションがアクティブな場合、エディタの上にデバッガ・ツールバーが表示されます。

image::images/debugger-toolbar.png[title="一時停止状態のデバッガ・ツールバー"]

「セッション」ウィンドウを開いて、PHPデバッグ・セッションがアクティブであることを確認することもできます。メイン・メニューから「ウィンドウ」>「デバッグ」>「セッション」を選択します。

image::images/debugger-sessions-win.png[title="Xdebugデバッガ・セッションがアクティブなことを示す「セッション」ウィンドウ"]


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



== 関連項目

link:https://netbeans.org/[+netbeans.org+]でのPHPテクノロジの詳細は、次のリソースを参照してください。

* link:project-config-screencast.html[+NetBeans IDE 6.9-7.0でのPHPエディタ+]PHPエディタの新しいサポートを紹介するスクリーンキャストです。
* link:debugging.html[+PHPソース・コードのデバッグ+]Xdebugを使用してIDEでデバッグする方法を説明するドキュメント。
* link:wish-list-tutorial-main-page.html[+CRUDアプリケーションの作成+]。IDEのPHPエディタを使用してCRUDアプリケーションを作成する方法を紹介する、9部構成のチュートリアル。
* link:remote-hosting-and-ftp-account.html[+リモートWebサーバーへのPHPアプリケーションのデプロイ+]。ホストしているアカウントのあるリモート・サーバーにPHPアプリケーションをデプロイする方法を説明するドキュメント。

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

