blob: b7c2281844fd4d20600f565d73c23d59d52fc752 [file] [log] [blame]
//
// 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 中配置 PHPApacheMySQL Xdebug for PHP 开发
:jbake-type: tutorial
:jbake-tags: tutorials
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: MAC OS X 中配置 PHPApacheMySQL Xdebug for PHP 开发 - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, MAC OS X 中配置 PHPApacheMySQL Xdebug for PHP 开发
本教程向您演示如何在 link:http://www.mamp.info/en/index.php[+MAMP+](*M*acintosh、*A*pache、*M*ySQL、*P*HP)包上设置 PHP,该包中含有 Apache Web 服务器、MySQL 数据库服务器和 PHP 引擎。MAMP 用作 Mac 的 PHP 开发环境,可与 NetBeans IDE 很好地配合使用。
link:http://www.Xdebug.org/[+Xdebug+] 是 PHP 的扩展,可帮助提供对 PHP 脚本调试有用的信息。NetBeans 调试器在 Xdebug 扩展之上运行,在您的开发环境中提供了有效的调试工具。
image::images/netbeans-stamp-80-74-73.png[title="此页上的内容适用于 NetBeans IDE 7.2、7.3、7.4 和 8.0"]
*要学完本教程,您需要具备以下软件和资源。*
|===
|软件或资源 |要求的版本
|link:https://netbeans.org/downloads/index.html[+NetBeans IDE+] |PHP 下载包
|link:http://www.oracle.com/technetwork/java/javase/downloads/index.html[+Java 开发工具包 (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 安装程序面板"]
. 导航到 `/Applications/MAMP` 并双击 `MAMP.app`。此时将打开 MAMP 控制面板。
您还可以按照 `MAMP/README.rtf` 中所述安装 MAMP 控制板窗口部件,这使您能够启动和停止服务器。
image::images/mamp-control-panel.png[]
. 单击 "Preferences"(首选项)打开 "Preferences"(首选项)面板,然后选择 "Ports"(端口)标签。
. 单击 "Set to Default Apache and MySQL ports"(设置为默认的 Apache MySQL 端口)。Apache 端口将重置为 80MySQL 端口将重置为 3306
image::images/mamp-control-panel-preferences-ports.png[title="在端口已更改为默认值之后带有 "Ports"(端口)标签的 MAMP 控制面板"]
== 注册 MAMP MySQL 数据库
默认情况下,MAMP MySQL 数据库位于 `/Applications/MAMP/db/MySQL`。默认的用户名和口令均为 `root`,您可以通过查看 MAMP 欢迎页中的详细信息进行验证,在运行 MAMP 时此欢迎页会在浏览器中打开。
IDE "Services"(服务)窗口(⌘-5 组合键)中与数据库进行交互。可通过执行以下操作来注册 MAMP MySQL 数据库:
1. 右键单击 "Databases"(数据库)> "MySQL Server"MySQL 服务器)节点并选择 "Properties"(属性)。此时将显示 "MySQL Server Properties"MySQL 服务器属性)对话框。可以从此对话框中配置所有 MySQL 设置。
2. 输入数据库服务器的主机名和端口号及其用户名和口令。当运行服务器和数据库时,所有这些信息都会显示在 MAMP 欢迎页上。在本地运行 MAMP 的默认设置是:
* *Server Host Name(服务器主机名):*`localhost`
* *Server Port Number(服务器端口号):*`3306`
* *Administrator User Name(管理员用户名):*`root`
* *Administrator Password(管理员口令):*`root`
image::images/mysql-basic-properties.png[title="包含 MAMP 默认连接设置的 "MySQL Basic Properties"(MySQL 基本属性)对话框"]
. 选择 "Admin Properties"(管理属性)标签以显示可用于从 IDE 中启动和停止数据库服务器的设置。MAMP `bin` 文件夹中维护 Shell 脚本。可以在此文件夹中查找用于启动和停止服务器的脚本。您可以选择管理工具的路径;可以链接到 `MAMP.app`,这样您就可以使用 IDE 打开 MAMP 的控制面板。为此,请输入 `/Applications/MAMP/MAMP.app`。但是,替代选项将使用 link:http://dev.mysql.com/downloads/workbench/[+MySQL Workbench+],它提供用于执行管理操作(即,配置和监视 MySQL 服务器,管理用户和连接,执行备份等)的直观 GUI 界面。要使用 MySQL Workbench,请先下载并安装它,然后在对话框中输入以下设置:
* *管理工具的路径/URL:*`/Applications/MySQL Tools/MySQLWorkbench.app` _MySQL Workbench 的默认安装)_
* *启动命令的路径:*`/Applications/MAMP/bin/startMysql.sh`
* *停止命令的路径:*`/Applications/MAMP/bin/stopMysql.sh`
image::images/mysql-admin-props.png[title="包含样例管理设置的 "MySQL Admin Properties"(MySQL 管理属性)对话框"]
. 如果选择使用 MySQL Workbench 作为 MySQL 管理工具,则需要指定用于 MAMP 数据库连接的套接字。启动 MySQL Workbench,然后从主页中,单击 "Server Administration"(服务器管理)列中的 "New Server Instance"(新建服务器实例)。
image::images/mysql-workbench-home.png[]
. 此时将打开 "Create New Server Instance Profile"(新建服务器实例配置文件)对话框。选择 "Local Socket/Pipe"(本地套接字/管道)连接方法,并在 "Parameters"(参数)标签中添加套接字文件的路径。套接字的默认位置为:`/Applications/MAMP/tmp/mysql/mysql.sock`
image::images/socket-path.png[]
[[phpProject]]
== 创建 PHP 项目
IDE 中使用 MAMP 资源创建 PHP 项目时,应指定 IDE 将源复制到 Apache `htdocs` 文件夹中。这样,当您在进行更改之后保存文件时,会自动在已部署版本中更新源。
例如,创建新的 PHP 项目时,使用新建项目向导(在 IDE 的工具栏中单击 "New Project"(新建项目)图标)(image:images/new-project-icon.png[])。在此向导的第三步 "Run Configuration"(运行配置)中,选择 "Copy files from Sources Folder to anotherlocation"(将源文件夹中的文件复制到其他位置)选项,并键入 `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`
. 找到 ``[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
----
. 找到 ``[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 远程调试+]文档中的“相关设置”。
. 请注意,在上一步中为 Xdebug 指定的远程端口为:9000。这是在 NetBeans 中使用的默认调试器端口。要对此进行验证,请从主菜单中选择 "NetBeans" > "Preferences"(首选项),然后在 "Options"(选项)窗口中选择 "PHP"
image::images/php-options68.png[title="可以在 "PHP Options"(PHP 选项)窗口中设置调试端口"]
如果需要,您可以在此处更改调试器端口。
. 打开 MAMP 控制面板并选择 "PHP" 标签。取消选择 "Zend Optimizer"Zend 优化器)。
image::images/mamp-control-panel-preferences-php.png[title="取消选择 "Zend Optimizer"(Zend 优化器)之后带有 "PHP" 标签的 MAMP 控制面板"]
. 启动(或重新启动)MAMP Apache 服务器。
== 调试 PHP 项目
要在 IDE 中调试 PHP 项目,请在 "Projects"(项目)窗口中右键单击该项目并选择 "Debug"(调试)。或者,如果在 "Projects"(项目)窗口中突出显示了该项目,可以单击主工具栏中的 "Debug Project"(调试项目)图标 (image:images/debug-icon.png[])。
通过在 <<phpOptions,"PHP Options"PHP 选项)窗口>>中启用此选项,可以将调试器设置为在第一行代码处挂起。
当调试器会话处于活动状态时,将在编辑器上方显示调试器工具栏。
image::images/debugger-toolbar.png[title="处于挂起状态的调试器工具栏"]
您还可以通过打开 "Sessions"(会话)窗口来验证 PHP 调试会话是否处于活动状态。从主菜单中选择 "Window"(窗口)> "Debugging"(调试)> "Sessions"(会话)。
image::images/debugger-sessions-win.png[title="&quot;Sessions&quot;(会话)窗口指示 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 源代码+]。说明如何在 IDE 中使用 Xdebug 进行调试的文档。
* link:wish-list-tutorial-main-page.html[+创建 CRUD 应用程序+]。演示如何使用 IDE PHP 编辑器创建 CRUD 应用程序的 9 部分教程。
* link:remote-hosting-and-ftp-account.html[+在远程 Web 服务器上部署 PHP 应用程序+]。提供有关如何将 PHP 应用程序部署到您具有托管帐户的远程服务器的指导原则的文档。
要发送意见和建议、获得支持以及随时了解 NetBeans IDE PHP 开发功能的最新开发情况,请link:../../../community/lists/top.html[+加入 users@php.netbeans.org 邮件列表+]。