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

= 在 Linux Ubuntu 中配置 PHP 开发环境
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: 在 Linux Ubuntu 中配置 PHP 开发环境 - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, 在 Linux Ubuntu 中配置 PHP 开发环境

本教程将介绍如何在 Ubuntu 操作系统（7.10 及更高版本）中配置 PHP 开发环境。其中包括安装和配置 PHP 引擎、MySQL 数据库、Apache Web 服务器和 XDebug 调试器。


*要学习本教程，您需要具备以下软件和资源。*

|===
|软件或资源 |要求的版本 

|link:https://netbeans.org/downloads/index.html[+NetBeans IDE+] |PHP 下载包 

|PHP 引擎 |版本 5。 

|Web 服务器 |推荐使用 Apache HTTP Server 2.2。
 

|数据库服务器 |推荐使用 MySQL Server 5.0。
 

|PHP 调试器（可选） |XDebug 2.0 或更高版本 
|===

通常，开发和调试都是在本地 Web 服务器上执行，而生产环境位于远程 Web 服务器上。link:./remote-hosting-and-ftp-account.html[+使用 NetBeans IDE 在远程 Web 服务器上部署 PHP 应用程序+]中介绍了如何设置远程 Web 服务器。本教程会引导您设置本地 Web 服务器。PHP 支持可以添加到许多本地 Web 服务器（IIS、Xitami 等）上，但最常用的是 link:http://httpd.apache.org/download.cgi[+Apache HTTP 服务器+]。


== 安装软件

本教程将介绍如何在 Ubuntu 7.04 及更高版本中配置 PHP 开发环境。您需要执行以下操作：

1. 安装 Apache2 HTTP 服务器、PHP5 引擎、MySQL 5.0 数据库服务器和 PHP5-MySQL 模块。这些软件包可以<<lamp,作为 LAMP 堆栈一起安装>>，也可以<<separate-packages,单独安装>>。
2. <<specifyDocumentRoot,指定 Apache2 HTTP 服务器的文档根目录>>
3. <<configureMySQL,配置 MySQL 数据库服务器>>
4. <<installXDebug,安装和启用 XDebug 2.0 调试器>>

有关安装 Apache、MySQL 和 PHP 的详细信息，请参见 link:https://help.ubuntu.com/community/ApacheMySQLPHP[+Ubuntu 社区+]。


[[lamp]]
=== 将软件包一起安装

Ubuntu 提供了一个 Linux AMP (LAMP) 包，其中包含 PHP 环境所需的全部软件包。可通过在“终端”窗口的命令提示符下执行以下命令安装此软件：


[source,bash]
----

sudo tasksel install lamp-server
----

 ``lamp-server``  包中包含最适合的 PHP、Apache 2、MySQL 和 PHP5-MySQL 版本。


[[separate-packages]]
=== 单独安装软件包

除了安装整个 LAMP 软件包集合以外，您还可以逐个安装这些软件包。如果您已经安装了其中的某个组件（如 Apache 服务器或 MySQL 数据库服务器），则此方法非常有用。您可以使用命令行工具或 Synaptic 包管理器 GUI。

要逐个安装的软件包如下所示：

* apache2
* php5
* mysql-server
* php5-mysql


===  


=== 检查安装

在设置 PHP Web 堆栈之后，应检查其安装是否正确，以及 Apache 服务器是否可以识别 PHP 引擎。

要检查 Apache 和 PHP 是否已安装并正在运行，请打开 NetBeans IDE 并link:./project-setup.html[+创建 PHP 项目+]。在  ``index.php``  文件中，输入 PHP 方法  ``phpinfo()`` 。运行该文件。此时应显示标准 PHP 信息页。 

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


[[troubleshooting]]
=== 疑难解答

以下是检查 Ubuntu 中的 PHP 堆栈安装时经常遇到的一些问题：

* *浏览器窗口显示无法找到  ``~USER/PROJECT/index.php``  错误*。从 URL 中删除  ``~USER``  字符串。例如，如果 URL  ``~ubuntu/test1/index.php``  出现此错误，请将该 URL 更改为  ``test1/index.php`` 。请注意，您既可以在 NetBeans IDE 中创建 PHP 项目时为该项目设置 URL，也可以通过右键单击该项目节点，然后转至“属性”>“运行配置”进行设置。
* *浏览器显示一个弹出式窗口，要求您打开文件，就像 PHP 引擎无法识别一样。* ``php5-common``  软件包出现问题。请用  ``php5``  和  ``phpmyadmin``  替换此软件包。要替换  ``php5-common`` ，请运行下面的两个命令：

[source,bash]
----

apt-get --purge remove php5-commonapt-get install php5 phpmyadmin
----


== 指定 Apache2 HTTP 服务器的文档根目录

文档根目录是 Apache HTTP 服务器存放用于在浏览器中显示的文件的目录。文档根目录是在定义虚拟主机的文件中指定的。默认虚拟主机配置文件为


[source,bash]
----

/etc/apache2/sites-available/default
----

其中指定的文档根目录为


[source,bash]
----

/var/www/
----

我们建议您创建自己的虚拟主机并启用它，而不是编辑默认的虚拟主机。

* <<createDocumentRootLocation,创建文档根目录位置>>
* <<createNewVirtualHost,在新虚拟主机中指定新文档根目录>>
* <<activateNewVirtualHost,激活新虚拟主机>>


=== 创建文档根目录位置

1. 选择“位置”>“主文件夹”。
2. 从上下文菜单中，选择“创建文件夹”。
3. 输入文件夹的名称，例如，public_html。


=== 创建新虚拟主机

1. 要
启动终端，请选择“应用程序”>“附件”>“终端”。此时将打开“终端”窗口。
2. 要将默认虚拟主机的配置文件复制到新文件 ( ``mysite`` )，请在命令提示符下键入以下命令：

[source,bash]
----

sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mysite
----

[start=3]
. 运行  ``
gedit``  应用程序并在其中编辑新配置文件 ( ``mysite`` )：

[source,bash]
----

gksudo gedit /etc/apache2/sites-available/mysite 
----
如果系统询问，请输入操作系统安装过程中为超级用户指定的口令。

[start=4]
. 更改文档根目录以指向新位置：

[source,bash]
----

/home/<user>/public_html/
----

[start=5]
. 更改目录指令，将

[source,bash]
----

<Directory /var/www/>
----
替换为

[source,bash]
----

<Directory /home/user/public_html/>
----

image::images/ubuntu-change-directory-root.png[]


[start=6]
. 保存文件  ``mysite`` 


=== 激活新虚拟主机

1. 要取消激活默认主机并激活新主机，<<launchTerminal,请启动终端>>并在“终端”窗口运行以下两个实用程序：

[source,bash]
----

sudo a2dissite default &amp;&amp; sudo a2ensite mysite
----

[start=2]
. 重新启动 Apache HTTP 服务器：

[source,bash]
----

sudo /etc/init.d/apache2 reload
----


== 配置 MySQL 数据库服务器

在 MySQL 数据库服务器的安装过程中，会创建一个超级用户。安装期间，将会打开一个设置超级用户口令的对话框。如果未打开此对话框，或者您未在此对话框中设置口令，则您需要立即创建 MySQL 超级用户口令。您将需要此口令来创建其他 MySQL 服务器用户。

1. 要连接到 MySQL 服务器，<<launchTerminal,请启动终端>>，然后在“终端”窗口中输入以下命令：

[source,bash]
----

mysql -u root -p
----
此时将显示 MySQL 命令提示符。

[start=2]
. 在命令提示符下输入以下命令并按 Enter 键：

[source,sql]
----
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('<yourpassword>');
----
如果命令执行成功，则会显示以下消息：

[source,bash]
----

Query OK, 0 rows affected (0.00 sec)
----


== 安装和启用 XDebug 调试器

仅当要使用 XDebug（对于 PHP 开发是可选的）时才需要执行下列步骤。XDebug 是 PHP 的一个扩展。当为 PHP Web 堆栈正确配置了 XDebug 时，NetBeans IDE 会自动使用它。有关 XDebug 和 NetBeans IDE 的详细信息，请参见link:./debugging.html[+在 NetBeans IDE 中调试 PHP 源代码+]。此外，还可参见link:http://wiki.netbeans.org/HowToConfigureXDebug[+有关 XDebug 的 NetBeans wiki 页+]。


[[xdebug-package]]
=== 安装 XDebug 软件包（Ubuntu 8.05 及更高版本）

从 Ubuntu 8.05 开始，提供了名为  ``php5-xdebug``  的 XDebug 软件包。受支持的 XDebug 版本为 2.0.3-1。您可以使用命令行工具或通过 Synaptic 包管理器 UI 对其进行安装。安装 XDebug 之后，您必须按照<<enableXDebug,启用 XDebug>> 中的所述修改  ``php.ini`` 。


=== [[从源构建 XDebug (Ubuntu 7.10)]] 

要从源构建 XDebug，您还需要两个模块：PHP5 开发和 PEAR。

1. 启动 <<startSynapticPackageManager,Synaptic 包管理器>>。
2. 切换到“Installed”面板查看 make 模块是否已安装。
3. 切换到“All”标签，并单击以下软件包旁边的复选框：
* php5-dev
* php-pear
对于每一项，从上下文菜单中选择“Mark for installation”。

[start=4]
. 打开“Mark additional required changes”对话框打开，其中具有相关包的列表，这些包也应该进行安装，以使软件能够正常工作。单击“Mark”。

[start=5]
. 系统将返回到“Synaptic Package Manager”面板，其中所选的软件包已标记为要安装。

[start=6]
. 选择工具栏上的“Apply”。此时将打开“Apply the following changes”概要面板，其中具有选择安装的包列表。单击“Apply”。

[start=7]
. 成功完成下载和安装之后，“Changes applied”面板将会打开。单击 "Close"（关闭）。

NOTE: 您也可以通过在“终端”窗口中运行以下命令来安装这些模块： ``aptitude install php5-dev php-pear`` 


[start=8]
. 现在，您可以下载并安装 XDebug。在“终端”窗口中输入以下命令：

[source,bash]
----

sudo pecl install xdebug
----


=== 启用 XDebug

要启用 XDebug，您需要在 <<gedit, ``gedit`` >> 文本处理器中编辑 php.ini 文件。

1. 要启动  ``gedit``  文本处理器，请先启动<<launchTerminal,终端>>，然后在命令提示符下键入以下命令：

[source,bash]
----

gksudo gedit
----
如果系统询问，请输入操作系统安装过程中为超级用户指定的口令。

[start=2]
. 打开文件  ``/etc/php5/apache2/php.ini`` 。

[start=3]
. 将以下行添加到此文件中：

[source,bash]
----

zend_extension=/usr/lib/php5/<DATE+lfs>/xdebug.so
xdebug.remote_enable=on

----

查看link:http://2bits.com/articles/setting-up-xdebug-dbgp-for-php-on-debian-ubuntu.html[+此处+]了解有关配置 XDebug 的详细信息。


要发送意见和建议、获得支持以及随时了解 NetBeans IDE PHP 开发功能的最新开发情况，请link:../../../community/lists/top.html[+加入 users@php.netbeans.org 邮件列表+]。

link:../../trails/php.html[+返回至 PHP 学习资源+] 

