blob: 2bdc022b9a917c255cdc0b2049b985651d3d5f1b [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.
//
= 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 服务器(IISXitami 等)上,但最常用的是 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 调试器>>
有关安装 ApacheMySQL PHP 的详细信息,请参见 link:https://help.ubuntu.com/community/ApacheMySQLPHP[+Ubuntu 社区+]。
[[lamp]]
=== 将软件包一起安装
Ubuntu 提供了一个 Linux AMP (LAMP) 包,其中包含 PHP 环境所需的全部软件包。可通过在“终端”窗口的命令提示符下执行以下命令安装此软件:
[source,bash]
----
sudo tasksel install lamp-server
----
``lamp-server`` 包中包含最适合的 PHPApache 2MySQL 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 学习资源+]