| // |
| // 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. |
| // |
| |
| = 使用 NetBeans IDE 在远程 Web 服务器上部署 PHP 应用程序 |
| :jbake-type: tutorial |
| :jbake-tags: tutorials |
| :jbake-status: published |
| :icons: font |
| :syntax: true |
| :source-highlighter: pygments |
| :toc: left |
| :toc-title: |
| :description: 使用 NetBeans IDE 在远程 Web 服务器上部署 PHP 应用程序 - Apache NetBeans |
| :keywords: Apache NetBeans, Tutorials, 使用 NetBeans IDE 在远程 Web 服务器上部署 PHP 应用程序 |
| |
| 通常,PHP 应用程序实际上在远程服务器上运行。远程应用程序是通过版本控制系统或文件传输协议 (FTP) 来访问的。 |
| |
| WARNING: NetBeans 为 FTP/SFTP 提供的基本支持足以让开发者独自处理简单的项目。如果处理的是复杂项目或与多名开发者协同工作,则应使用版本控制系统。NetBeans IDE 支持多种版本控制系统。例如,请参见我们的 link:../ide/subversion.html[+Subversion+] 和 link:../ide/git.html[+Git+] 教程。如果必须在处理复杂项目时使用 FTP/SFTP,则可以考虑将 IDE 与功能全面的 FTP 客户端结合使用,并在 IDE 中将 PHP 项目作为本地 Web 站点来编辑。 |
| |
| *JDK 7 + Windows 7/Vista:*Windows 7 和 Windows Vista 防火墙会阻止某些由 JDK 7 启动的 FTP 操作。有关解决方法,请参见 link:http://forums.netbeans.org/post-115176.html#113923[+NetBeans 论坛+]。 |
| |
| 要在远程服务器上部署 PHP 应用程序,您将需要向托管提供商注册一个帐户。您还可以在具有托管帐户的远程服务器上部署一个 MySQL 数据库。 |
| |
| 所有的用户名、口令和电子邮件地址都是虚构的,仅用作示例。如果用户未登录论坛的时间超过了一个星期,则托管管理会阻止该用户的帐户。因此您可能无法再使用与本教程中完全相同的用户名、口令、电子邮件地址和其他凭证。 |
| |
| |
| *要学习本教程,您需要具备以下软件和资源。* |
| |
| |=== |
| |软件或资源 |要求的版本 |
| |
| |link:https://netbeans.org/downloads/index.html[+NetBeans IDE+] |PHP 下载包 |
| |
| |PHP 引擎 |版本 5 |
| |
| |远程服务器上的托管帐户和 |
| FTP 帐户 |例如,link:http://x10hosting.com/[+x10Hosting+] |
| 提供免费的 FTP 帐户托管。 |
| |
| |PHP 调试器(可选) |link:http://www.xdebug.org[+XDebug 2.0 或更高版本+] |
| |=== |
| |
| |
| == 为远程托管的 PHP 项目设置运行配置 |
| |
| 如果您在远程 Web 服务器上具有一个托管帐户和一个 FTP 帐户,可用于将您的源文件传输到远程服务器,则可以在本地创建和调试 PHP 项目,然后在远程服务器上对它进行部署。通过“运行配置”的概念,您可以在同一个 NetBeans PHP 项目中的这些工作流之间切换,方法是将 "Run Configuration"(运行配置)类型从 "Local Web Site"(本地 Web 站点)更改为 "Remote Web Site"(远程 Web 站点)。 |
| |
| 要在远程 Web 服务器上运行 PHP 应用程序,您需要设置其中包含 FTP 连接配置文件的运行配置。 |
| |
| 如果您已经有一个具有默认运行配置的项目,并希望添加新的远程运行配置,link:project-setup.html#managingProjectSetup[+则定制您的项目+]: |
| |
| 1. 在项目节点上单击鼠标右键,然后从弹出式菜单中选择 "Properties"(属性)。"Project Properties"(项目属性)面板打开。 |
| 2. 从 "Categories"(类别)列表中,选择 "Run Configuration"(运行配置)。"Run Configuration"(运行配置)面板打开。 |
| 3. 如以下部分所述,<<chooisngRunConfigurationType,选择运行配置类型>>并<<specifyFTPConnectionSettings,指定 (S)FTP 连接设置>>。 |
| |
| 要在远程服务器上为 PHP 应用程序创建 NetBeans 项目,或者要创建将远程运行配置作为默认配置的新项目,请执行以下操作: |
| |
| 1. 启动 IDE,选择 "File"(文件)-> "New Project"(新建项目)。"New Project"(新建项目)面板打开。 |
| 2. 从 "Categories"(类别)中选择 "PHP",然后选择 "PHP Application from Remote Server"(来自远程服务器的 PHP 应用程序)。然后,单击 "Next"(下一步)。"Name and Location"(名称和位置)面板打开。 |
| 3. 指定项目名称、应用程序源文件的位置和项目内部文件的位置(可选)。单击 "Next"(下一步)。"Run Configuration"(运行配置)面板打开。 |
| 4. 按照下一节所述,<<specifyFTPConnectionSettings,指定 FTP 连接设置>>。 |
| |
| |
| === 选择运行配置类型 |
| |
| 在 "Run Configuration"(运行配置)面板的 "Run As"(运行方式)下拉列表中,选择 "Remote web Site (FTP, SFTP)"(远程 Web 站点 (FTP, SFTP))。此时将显示用于设置配置的隐藏区域。 |
| |
| 如果要使用 "PHP Application from Remote Server"(来自远程服务器的 PHP 应用程序)向导创建新项目,则不需要从 "Run As"(运行方式)下拉列表中进行选择。该向导会自动转至 "Remote Connection"(远程连接)面板。此面板中只包含 "Project URL"(项目 URL)、"Remote Connections"(远程连接)和 "Upload Directory"(上载目录)字段。 |
| |
| image::images/ftp-run-config-blank.png[] |
| |
| |
| === 指定 (S)FTP 连接设置 |
| |
| 要创建 FTP 连接,请执行以下操作: |
| |
| 1. 单击 "FTP Connection"(FTP 连接)下拉列表旁边的 "Manage"(管理)。此时将显示 "Manage Remote Connections"(管理远程连接)对话框。 |
| 2. 单击 "ADD"(添加)。"Create New Connection"(创建新连接)对话框打开。(如果定义的是第一个连接,可能会自动打开该对话框。) |
| 3. 在 "Connection Name"(连接名称)字段中,输入新连接的名称。在此示例中,连接名称是 ``x10hosting`` 。从 "Type"(类型)下拉列表中,选择 "FTP" 或 "SFTP"。单击 "OK"(确定)。此时将显示 "Manage Remote Connections"(管理远程连接)对话框,并在 "Connection Name"(连接名称)显示字段中包含新连接的名称。 |
| 4. 在 "Host Name"(主机名)字段中,输入在 FTP 帐户创建确认消息中包含的 FTP 服务器名称。在本示例中,FTP 服务器是 ``nbuser.x10.mx`` 。 |
| 5. 在 "Port"(端口)字段中,指定 21。 |
| 6. 在 "User Name"(用户名)字段中,输入在 FTP 帐户创建确认消息中包含的 FTP 用户名。在本示例中,FTP 用户名是 ``nbuser`` 。 |
| 7. 填写 "Password"(口令)字段。在此示例中,口令是 ``qwerty1234`` 。 |
| 8. 在 "Initial Directory"(初始目录)字段中,输入 FTP 服务器上的帐户目录名称。在此示例中,不指定任何帐户目录,而是在该字段中输入一个正斜杠。 |
| |
| image::images/manageremoteconnections.png[] |
| |
| |
| [start=9.] |
| . 单击 "OK"(确定)。返回到 "Run Configuration"(运行配置)面板。 |
| |
| [start=10.] |
| . 在 "Upload Directory"(上载目录)字段中,输入初始目录中将上载源文件的子文件夹名称。该字段下的提示显示 FTP 主机 URL。 |
| |
| [start=11.] |
| . 要完成对新项目的设置,请单击 "Finish"(完成)。 |
| |
| |
| == 将源文件上载到远程服务器 |
| |
| 为项目选择远程连接后,请选择是在运行时、保存时还是手动上载源文件。 |
| |
| * *运行时:*在运行项目时将源文件上载到服务器。 |
| * *保存时:*将每项更改(创建、编辑、重命名、删除)立即传播到远程服务器。如果该操作用时超过 1 秒,则将显示一个进度栏。 |
| * *手动:*从不自动上载文件。您必须使用此部分介绍的 IDE 的手动上载功能。 |
| |
| image::images/ftp-run-config.png[] |
| |
| 要将项目文件手动上载到 FTP 服务器,请右键单击项目的 "Source Files"(源文件)节点,然后选择 "Upload"(上载)。请注意,您还可以在同一个菜单中从 FTP 服务器下载文件。 |
| |
| image::images/beta-source-upload.png[] |
| |
| 当开始上载文件时,打开一个包含源文件树视图的对话框。在此对话框中,可以选择是否要上载每个文件。有关详细信息,请参见 link:http://blogs.oracle.com/netbeansphp/entry/new_download_upload_dialog[+NetBeans PHP 博客条目+]中的 "File Upload"(文件上载)对话框。 |
| |
| image::images/file-upload-dialog.png[] |
| |
| 当上载文件时,上载的结果会出现在 "Output"(输出)标签中。 |
| |
| image::images/upload-output.png[] |
| |
| |
| [[remote-synchronization]] |
| == 远程同步 |
| |
| 对于必须通过 (S)FTP 在多个没有正确版本控制的开发者环境中工作的开发者,NetBeans IDE 提供了远程同步。通过远程同步,可以将项目文件的本地副本与 (S)FTP 服务器上的副本进行比较。可以将本地副本上载到该服务器,也可以将该服务器的副本下载到本地计算机。在您开始处理本地副本后,如果服务器上的副本进行了更新,则 NetBeans IDE 将向您发出文件冲突警告。当存在文件冲突时,使用 NetBeans IDE 能够逐行比较本地版本与服务器上的版本,并决定要接受的版本。 |
| |
| *警告:*远程同步从来不会完全可靠,因为 FTP 服务器上的时间戳不是完全可靠的。版本控制是更安全的解决方案。 |
| |
| *注:*当您对整个项目执行远程同步时,远程同步工作起来会更可靠。可以对单个文件执行远程同步,但这样会有更高的风险。 |
| |
| *要执行远程同步,请执行以下操作:* |
| |
| 1. 在 "Projects"(项目)窗口中(Ctrl-1 组合键),展开要同步的 PHP 项目的节点。右键单击 "Source Files"(源文件)节点。此时将显示包括 "Synchronize"(同步)选项的上下文菜单。 |
| |
| image::images/sync-ctxmenuitem.png[] |
| |
| |
| [start=2.] |
| . 选择 "Synchronize"(同步)。IDE 将从远程服务器检索文件名和路径并打开 "Remote Synchronization"(远程同步)对话框。 |
| |
| "Remote Synchronization"(远程同步)对话框将显示项目文件表。文件的远程版本位于左侧,本地版本位于右侧。中间列中有图标,用于显示 IDE 将在同步时执行的操作。"Warning"(警告)图标位于最左侧。表底部显示操作和问题的概要。表下方显示所有错误的详细说明。表上方是复选框集合,用于过滤对话框显示哪些问题和操作。有关此对话框的详细信息,请单击 "Help"(帮助)。 |
| |
| image::images/main-dialog.png[] |
| |
| |
| [start=3.] |
| . 在表中选择多个项。表底部的概要现在只包含这些项。 |
| |
| image::images/multiple-items.png[] |
| |
| |
| [start=4.] |
| . 右键单击所选项。此时将显示可能操作的上下文菜单。 |
| |
| image::images/context-menu.png[] |
| |
| |
| [start=5.] |
| . 如果某一项具有 "Resolve Conflicts"(解决冲突)错误图标,则选择该项。表底部将显示错误说明。 |
| |
| image::images/error-item.png[] |
| |
| |
| [start=6.] |
| . 选择出错的项。从按钮行或从上下文菜单选择 "Diff..."(比较...)image:images/diff-icon.png[]。此时将打开 "Diff"(比较)对话框。在此对话框中,向下滚动到文件的远程版本和本地版本之间的每个差异。在图形视图中,您可以应用或拒绝应用远程更改到本地文件。如果您要手动编辑文件,请切换到 "Textual"(文本)标签。完成比较操作后,单击 "OK"(确定)。您将返回到 "Remote Synchronization"(远程同步)对话框。对该文件的操作更改为 "Upload"(上载),并且该文件将用星号标记,因为您更改了它。 |
| |
| image::images/diff.png[] |
| |
| |
| [start=7.] |
| . 如果您没有冲突,请单击 "Synchronize"(同步)。如果选择了 "Show Summary Before Start"(开始之前显示概要),则将显示 "Synchronize"(同步)概要,以便您可以在执行同步之前再一次检查操作。如果您批准操作,请单击 "OK"(确定)。 |
| |
| image::images/sync-summary.png[] |
| |
| IDE 执行同步。您可以在 IDE 打开的窗口中观察同步的进度。 |
| |
| image::images/sync-progress.png[] |
| |
| |
| == 运行 PHP 应用程序 |
| |
| |
| 要在远程服务器上运行 PHP 应用程序,请执行以下操作: |
| |
| 1. 在 "Properties"(属性)面板上,确保从 <<chooisngRunConfigurationType,"Run As"(运行方式)下拉列表>>中选择 "Remote Web Site"(远程 Web 站点)。 |
| 2. 检查 "Run Configuration"(运行配置)设置。 |
| 3. 如果此项目设置为主项目,请单击工具栏上的 image:images/run-main-project-button.png[]。 |
| 4. 如果此项目未设置为主项目,请将光标放置在此项目节点上,并从弹出式菜单中选择 "Run"(运行)。 |
| |
| |
| [[remote-mysql-database]] |
| == 使用远程 MySQL 数据库 |
| |
| 通过远程托管服务(如 x10Hosting.com),您通常可以在其服务器上设置 MySQL 数据库。通过远程托管服务提供的工具,您可以创建数据库、管理用户,以及复制、读取、更新或删除 (CRUD) 数据。 |
| |
| 例如,如果您使用的是 x10Hosting.com,则可以通过以下方式创建 MySQL 数据库:登录到x10Hosting cPanel,然后打开 "MySQL Databases"(MySQL 数据库)面板。您还可以在 "MySQL Databases"(MySQL 数据库)面板中创建用户,将用户指定到数据库,以及向用户授予权限。然后,可以使用 "phpMyAdmin" 面板中的 CRUD 工具。 |
| |
| 使用远程数据库 CRUD 工具的另一种方法是通过 NetBeans IDE 的 CRUD 功能来使用本地数据库。然后,您可以将本地数据库复制或转储到远程数据库。在 x10Hosting.com 上,您可以使用其 "phpMyAdmin" 面板来上载本地数据库。 |
| |
| link:/about/contact_form.html?to=3&subject=Feedback:%20PHP%20Remote%20Hosting%20and%20FTP[+发送有关此教程的反馈意见+] |
| |
| |
| 要发送意见和建议、获得支持以及随时了解 NetBeans IDE PHP 开发功能的最新开发情况,请link:../../../community/lists/top.html[+加入 users@php.netbeans.org 邮件列表+]。 |
| |
| link:../../trails/php.html[+返回至学习资源+] |
| |