PhpStorm 2021.3 Help

Zend 服务器

Zend Server与 PhpStorm 无缝集成,提供用于调试和分析 Web 应用程序的高级功能。

Zend Server 是一个用于移动和 Web 应用程序的集成平台,可在应用程序生命周期的所有阶段提供帮助。Zend Server 包括 Z-Ray,它通过实时显示构建每个页面的确切情况,在应用程序内部提供前所未有的上下文可见性。它可以帮助开发人员编写更好的代码,更早地检测和修复问题,并与运营人员协作以更快地解决生产问题。

在本教程中,我们将研究如何配置集成并继续调试、分析或部署您的代码,以及使用 PhpStorm 的许多内置工具,而 Zend Server 负责您的 PHP 环境。

以下视频将引导您开始使用 Zend Server:

要了解有关 Zend Server 配置和使用的更多信息,请参阅Zend Server 文档

入门

安装 Zend Server 有两种主要方式:在本地,通过从Zend 的网站下载应用程序,或者通过在云中运行它(例如,在一个特殊的 Amazon Web Services 实例中)。

在本地(或在远程服务器上)安装 Zend Server

注册一个 Zend 帐户并从Zend 的网站为您的操作系统下载 Zend Server 应用程序。根据 PHP 解释器版本的不同,有几个版本可用。

按照安装向导的步骤完成安装。

在云中使用 Zend Server (AWS)

AWS 市场中还提供不同版本的 Zend Server。借助在 Amazon Web Services 上运行的 Zend Server,您可以在云中运行基于 PHP 的高性能、弹性和可靠的 Web 和移动应用程序。

Zend Server 软件提供 30 天试用,但 AWS 对实例收费。如果您以前从未使用过 AWS,您可能有资格通过 AWS 免费套餐计划(仅限新云用户)免费使用一整年的 EC2。

Zend AWS 概述

您可以选择实例的参数(例如 VM 的配置、区域、安全设置)并生成新的密钥对来访问实例。查看所有设置并继续进行 AWS 实例配置。

该过程完成后,进入 AWS 控制台管理安装了 Zend Server 的新创建的实例。

Zend AWS 运行

有关更多详细信息,请观看AWS 上 Zend Server 入门视频教程或查看安装指南

启动 Zend 服务器

Zend Server 安装并运行后,通过http://localhost:10081/ZendServerhttps://localhost:10082/ZendServer链接打开它(将localhost替换为您正在使用的主机名。如果您正在使用一个 AWS 实例,地址将类似于http://ec2-54-195-230-127.eu-west-1.compute.amazonaws.com:10081/)。

在下一步中,您将被要求阅读并接受许可协议,并配置一些初始参数:

  • 配置文件(开发/生产 - 单服务器/生产 - 创建或加入集群) - 开发配置文件适合大多数开发环境

  • 集群配置(如果您在上一步中选择了集群)

  • 密码

  • 要部署的标准库包

配置完成并成功登录后,会出现 Zend Server Guide Page:

Zend 起始页

出于教育目的,我们将从 Zend Server Guide Page 部署一个演示应用程序。要了解如何准备您自己的应用程序并将其部署到 Zend Server,请参阅使用 ZPK 包部署到 Zend Server部分。演示应用程序是 Zend Framework 2 框架应用程序,其中包括定制的监视和缓存规则、事件、重复作业和统计数据。

我们将在下面使用 Zend Server 的本地版本,但所有操作和工作流程也适用于远程 AWS 或独立安装(在适用的情况下提供了其他配置说明)。

部署演示应用程序

  1. 单击Zend 服务器指南页面上的示例应用程序按钮。

    下载 Zend 演示应用程序
  2. 输入应用程序名称、路径和虚拟主机。

    输入 Zend 演示应用详细信息
  3. 检查应用程序先决条件是否得到验证。

    Zend 演示应用程序验证
  4. 查看部署摘要并单击部署以继续部署。

    Zend 演示应用:回顾总结

    部署过程完成后,您将被带到 Zend Server 的应用程序列表:

    Zend 应用程序列表

    在这里,您可以轻松检查有关已部署应用程序的信息、检查状态、进行监控以及执行其他操作。

我们建议您先熟悉 Zend Server,然后再继续下一步。Zend Server Getting Started Guide提供了一个很好的起点。

使用 Z-Ray 和 PhpStorm 进行调试

Z-Ray是一个浏览器工具窗口,它显示页面请求的所有底层细节,包括构建页面所涉及的所有 PHP 脚本。Z-Ray 被注入到来自您的 PHP 应用程序的响应中,并直接显示在您用于开发的浏览器中,因此您可以在不更改开发工作流程的情况下获得更深入的了解。

正瑞概述

用于远程调试的 SSH 隧道配置

如果您使用 AWS 或 Zend Server 的任何其他独立远程安装,则需要进行一些配置以防止您的防火墙阻止调试器通信。

要运行远程会话,请为调试端口(默认为10137 )设置 SSH 隧道。如果您运行的是 Linux 或 macOS,请从运行 PhpStorm 的本地终端运行以下命令:

ssh -R 10137:localhost:10137 remote-host.compute.amazonaws.com -i ZS.pem -l ubuntu

如果您运行的是 Windows,请执行以下操作:

  • 下载腻子

  • 通过运行puttygen.exe、加载PEM文件并将私钥保存为 PuTTY 的密钥格式,将PEM文件转换为PPK文件

  • 运行以下命令来设置隧道:

putty -R 10137:localhost:10137 remote-host.compute.amazonaws.com -i ZS.ppk -l ubuntu

其中:10137是调试端口(可以在 PhpStorm 和 Zend Server 中更改,请参阅附加配置部分)remote-host.compute.amazonaws.com是安装 Zend Server 的远程主机名ZS.pem是授权密钥(由 AWS 或其他权威机构生成的证书,请参阅本文了解详细信息)ubuntu是远程主机上的用户名 根据您的本地权限,您可能需要从超级用户执行终端命令(使用sudo.

每次启动调试/分析会话之前,都应建立 SSH 隧道。在以下情况下不需要:

  • 如果 Zend Server 和 PhpStorm 在同一台机器上运行。

  • 如果 Zend Server 和 PhpStorm 之间有直接链接并且没有配置防火墙。

调试 Zend 应用程序

  1. 在 PhpStorm 中,通过单击开始侦听 PHP 调试连接按钮工具栏或选择Run |启用侦听传入调试连接。在主菜单中开始侦听 PHP 调试连接。这将确保 PhpStorm 在启动调试会话时做出反应并自动打开调试工具窗口。在启动脚本之前,请确保设置了断点,或者在Settings/Preferences对话框的Debug页面上启用了Break at first line in PHP scripts选项。Ctrl+Alt+S

  2. 通过单击要中断的行附近的编辑器装订线,在代码中设置断点。

  3. 在启用 Z-Ray 栏的情况下打开在 Zend Server 上运行的应用程序,单击Debug图标调试图标并选择Debug Current Page

    调试当前页面
  4. 在 PhpStorm 中接受来自 Zend Debugger 的传入连接。

    接受传入连接

    PhpStorm 将在断点处中断(如果启用该选项,则为第一行),为您提供在 IDE 中调试应用程序的工作流。

    Zend 调试器断点

使用 Z-Ray 和 PhpStorm 进行分析

远程调试的所有注释和附加配置也适用于此处。

分析您的 Zend 应用程序

  1. 在 PhpStorm 中,通过单击开始侦听 PHP 调试连接按钮工具栏或选择Run |启用侦听传入调试连接。在主菜单中开始侦听 PHP 调试连接。这将确保 PhpStorm 在启动调试会话时做出反应并自动打开调试工具窗口。在启动脚本之前,请确保设置了断点,或者在Settings/Preferences对话框的Debug页面上启用了Break at first line in PHP scripts选项。Ctrl+Alt+S

  2. 在启用 Z-Ray 栏的情况下打开在 Zend Server 上运行的应用程序,单击Debug图标调试图标并选择Profile Current Page

    简介当前页面

    应用程序配置文件快照将在 PhpStorm 中打开。

确保选择服务器以利用上下文菜单操作,例如跳转到源、快速定义、快速文档(有关服务器配置的更多信息,请参见附加配置部分)。您可能需要在 Settings / Preferences | 中为您的项目设置映射。PHP | 服务器。当服务器处理的文件的路径与项目中文件的路径不同时,您需要使用路径映射。为父目录指定的路径映射会自动应用于其所有子目录。如有必要,您可以单独为任何子目录甚至单个文件指定路径映射。

从事件列表/单个事件中使用 Zend Server 和 PhpStorm 进行调试和分析

Zend Server 正在跟踪您的应用程序发生的所有事情。要轻松查看所有问题,请使用Zend Server |提供的监控事件列表。监控 | 事件

可以从具有相关操作(IDE 中的调试、IDE中的配置文件或 IDE 中的显示)的事件列表启动调试/分析会话。在从 Zend 服务器端启动调试/分析会话之前,请确保 IDE 正在侦听调试连接(有关详细信息,请参阅使用 Z-Ray 进行调试和使用 Z-Ray进行分析)。

Zend 事件列表操作

使用 ZPK 包部署到 Zend Server

PhpStorm 中没有用于 Zend Server 部署的 GUI,但它仍然允许您准备ZPK部署包。这可以通过使用终端或通过命令行工具集成来完成。

我们将关注第二个选项,因为它方便地为命令行工具命令和参数提供了补全选项。

准备好ZPK包后,我们将把它部署到 Zend Server。

为 Zend Server 部署工具创建命令行工具

  1. 设置/首选项对话框 ( Ctrl+Alt+S) 中,转到工具 | 命令行工具支持

  2. 单击添加按钮,从列表中选择自定义工具,然后设置工具可见性(项目全局)。

    创建自定义 Zend 工具
  3. 设置工具的路径(在我们的例子中是/usr/local/zend/bin/zdpack;对于特定于操作系统的路径,请参阅Zend Server 文档)和别名。

    自定义 Zend 工具设置
  4. 应用更改并单击编辑源按钮以在编辑器中打开工具定义。

  5. 在自定义命令行定义目录中找到Zend Server 的部署工具 (zdpack)存储库的链接,并将整个 XML 从存储库复制到打开的编辑器选项卡。

    自定义 Zend 工具定义

您现在可以通过选择工具 |来启动zdpack命令行工具。在主菜单中运行命令...Ctrl+Shift+X或按。

在 PhpStorm 中准备部署包

  1. 选择一个目录并使用create命令准备ZPK包的骨架。这包括XML描述符文件、数据文件夹和挂钩脚本:

    zdpack 创建应用程序名称
  2. 验证资源是否已在指定目录中创建:

    • 数据文件夹 - 将包含您的应用程序文件的文件夹。

    • Scripts文件夹 - 可供您根据需要编辑的挂钩脚本框架,以及现有的监控和缓存规则。

    • deployment.xml文件 -供您根据需要编辑的XML描述符模板。

  3. 执行以下操作:

    • 将您的应用程序文件放在数据文件夹中。根据您的需要编辑挂钩脚本。

    • 根据需要编辑deployment.xmlXML模板由示例元素组成。必需的元素是nameversionappdir

    • 使用validate命令验证包

    zdpack 验证 package-xml-descriptor-file
  4. 使用 pack 命令将内容打包到ZPK包中。默认情况下,部署工具将在工作目录中创建包。

    zdpack 包应用程序名称

    在我们的例子中,要准备部署测试应用程序,我们需要运行以下命令:

    zdpack create drupal8a zdpack validate drupal8a/deployment.xml zdpack pack drupal8a

    这样就在我们项目的根文件夹中生成了drupal8a.zpk 。

将包部署到 Zend Server

  1. 打开Zend 服务器 | 应用 | 管理应用程序并单击部署应用程序

  2. 从文件系统中选择ZPK包并按照部署步骤进行操作。接受许可协议、验证先决条件并提供所需参数。

使用 PhpStorm 在 Zend Server 上处理数据库

Zend Server 集成了各种数据库(默认为 MySQL),这对于开发目的来说非常方便。PhpStorm 带有数据库和 SQL 支持。确保将 IDE 连接到 Zend Server 的开发实例以利用这些工具。

附加配置(可选)

配置与 Zend Server 的集成

您可以在Zend Server |下配置 Zend Server IDE 集成参数。Debugger,尽管这通常是可选的。例如,可以通过触发Autodetect IDE 设置选项在此处更改调试端口:

其他 IDE 设置

请注意,调试端口必须设置为与 PhpStorm 中相同的值。如果需要,可以在PHP |上的 PhpStorm 中更改调试端口设置广播端口。设置/首选项对话框的调试页面。Ctrl+Alt+S

PhpStorm 调试器设置

如果您在 PhpStorm 中多次调用调试器时遇到 Z-Ray 系统请求问题,请确保在PHP |中选中忽略 Z-Ray 系统请求复选框。设置/首选项对话框的调试页面。Ctrl+Alt+S

将 Zend Server 设置为 PhpStorm 中的服务器

一旦在 Zend Server 和 PhpStorm 之间建立了调试或分析会话,Zend Server 将作为 PHP 服务器添加到 PhpStorm 配置中。如有必要,您可以修改其设置PHP | 设置/首选项对话框的服务器页面Ctrl+Alt+S

服务器设置

该服务器可以在以后用于配置运行配置

在 PhpStorm 中配置 PHP 解释器

使用与 Zend Server 捆绑在一起的 PHP 解释器提供了安装在类生产环境中的 PHP 解释器的优势。这样,我们可以确保将应用程序部署到生产环境时不会出现不一致。

例如,您可以使用 PHP 解释器使用 PHPUnitBehat进行测试,或者使用PHP 代码质量工具分析您的代码。

可以在“设置/首选项”对话框 ( ) 的PHP页面上设置解释器。有关详细信息,请参阅配置本地 PHP 解释器Ctrl+Alt+S

使用 PhpStorm 中的 ZF Tool 命令行工具

将 zftool 配置为命令行工具

  1. 设置/首选项对话框 ( Ctrl+Alt+S) 中,转到工具 | 命令行工具支持

  2. 单击添加按钮工具栏上的 。

  3. Command Line Tools对话框中,从列表中选择 Zend Framework 1 ToolZend Framework 2 Tool,并指定其可见性级别(ProjectGlobal)。

    命令行工具对话框
  4. 当您单击OK时,Zend Framework Tool对话框打开。

    根据使用的 Zend Framework 版本提供 ZF 工具的路径,并从PHP 解释器列表中选择一种配置的 PHP 解释器。有关详细信息,请参阅配置本地 PHP 解释器配置远程 PHP 解释器

    • <Zend-Framework-home>/zf用于Zend Framework 1

    • <Zend-Framework-home>/zf.php<Zend-Framework-home>/zftool.phar用于Zend Framework 2

  5. 单击确定应用更改并返回命令行工具支持页面。或者,单击编辑按钮以编辑工具属性或编辑源按钮自定义命令集。有关详细信息,请参阅自定义工具

运行 zftool 命令

  • 从主菜单中,选择工具 | 运行命令或按Ctrl两次。

    在打开的“运行任何内容”窗口中,以<zf> <command>or<zf2> <command>格式键入命令的调用。

    命令执行结果显示在运行工具窗口中。

    运行 zftool 命令

终止命令

最后修改:2021 年 8 月 27 日