PhpStorm 2025.2 Help

排查常见的部署问题

本节提供了 PhpStorm 中与 部署相关的常见问题的解决方案和变通方法列表。

收集 PhpStorm 部署日志

如果您的问题未在本节中解决,请联系我们的支持工程师。 如果需要提供部署日志,请 按照说明收集它们。

收集部署日志

  1. 在主菜单中选择 帮助(H) | 诊断工具 | 调试日志设置(E)…

  2. 在打开的 自定义调试日志配置 对话框中,根据您遇到的问题添加以下行:

    • 与部署/同步相关的问题: #com.jetbrains.plugins.webDeployment

    • 与 SSH/SFTP 相关的问题: #com.intellij.ssh

    收集日志
  3. 单击 确定 并重现问题。

  4. 通过选择 帮助 | 在资源管理器中显示日志 (适用于 Windows 和 Linux)或 帮助 | 在 Finder 中显示日志 (适用于 macOS)定位日志文件。

    如有必要,您可以手动定位日志:

    语法

    %USERPROFILE%\AppData\Local\JetBrains\<product><version>\log

    示例

    C:\Users\JohnS\AppData\Local\JetBrains\PhpStorm2025.2\log

    语法

    ~/Library/Logs/JetBrains/<product><version>

    示例

    ~/Library/Logs/JetBrains/PhpStorm2025.2

    语法

    ~/.local/share/JetBrains/<product><version>

    示例

    ~/.local/share/JetBrains/PhpStorm2025.2

    最新的日志文件名为 idea.log ;较旧的文件名以数字结尾,即 idea.log.1 idea.log.2 等。 在大多数情况下,您只需要最新的日志文件。

  5. 将日志文件附加到 问题论坛线程

常规故障排查

部署速度慢或失败

部署可能是一个资源密集型操作,尤其是当项目或部署服务器包含大量目录和文件时。 在 设置 对话框(Ctrl+Alt+S )中,导航到 构建、执行、部署 并探索以下配置选项,这些选项可以加快部署速度:

  • 从部署中排除不需要的目录(例如,图像)。 这可以在 部署:排除路径选项卡 页面完成。

  • 选项 页面,清除 覆盖最新文件(W) 以跳过上传不需要上传的文件。

  • 根据服务器的不同,在高级 FTP 设置中切换主动和被动传输模式可能会有所帮助。 这可以通过在 部署:连接选项卡被动模式(P) 中切换来完成。

文件传输无响应

如果 PhpStorm 尝试通过 IPv6解析 IPv4主机时,可能会发生这种情况。 默认情况下,PhpStorm 仅监听传入的 IPv4 连接。 要确保已禁用 IPv6,请检查 PhpStorm 的 JVM 选项

  1. 请选择 帮助 | 编辑自定义虚拟机选项… 从主菜单。

  2. 在打开的 .vmoptions 文件中,确保存在 -Djava.net.preferIPv4Stack=true 行。

  3. 重启 PhpStorm。

否则,要启用 IPv6 支持,请删除 -Djava.net.preferIPv4Stack=true 行。 在这种情况下,请确保将主机的 IPv6 条目添加到 /etc/hosts文件中。

下载/上传操作不可用

下载/上传操作可能由于缺少映射而不可用。 如果您想要下载的文件或文件夹未在任何映射中配置,PhpStorm 将不会下载它。 可以按照 3. 将项目文件夹映射到服务器文件夹和 URL 路径 中的描述配置映射。

对于某些操作,需要在 设置 对话框的 部署 页面上选择默认部署服务器。

某些文件夹未被部署

文件夹未被部署的一个常见原因是它们被明确排除。 为了解决此问题,在 远程主机工具窗口 中右键单击给定文件夹,并从上下文菜单中选择 从排除的对象中移除路径(L)。 完成此操作后,文件夹将被部署。

这也可以在 设置 对话框(Ctrl+Alt+S )的 部署 页面中配置。 打开服务器的 排除的路径 选项卡并移除排除的路径。 请注意,源文件夹和目标文件夹都应被检查。 文件夹也可以在 选项 页面的 通过名称排除项 下按名称排除。

在项目之间共享部署配置

部署服务器是在 IDE 级别配置的:它们对所有项目可用,并且可以在项目之间共享。

请注意,只有名称和连接详细信息(在 部署:连接选项卡 选项卡中指定)在项目之间共享:映射和排除路径是项目特定的,必须单独配置。 使用这种方法,连接详细信息只需输入一次,而映射和排除路径可以按项目配置,共享连接详细信息。 当项目共享相同的部署服务器并使用相同的连接设置时,这种方法会很有用。 如果项目之间的连接设置不同,则必须为每个项目单独配置。

如果需要,您可以通过在 部署:连接选项卡 中的 仅对该项目可见 复选框上打勾,将服务器设置为仅在单个项目中可见。

IDE 设置不允许我配置映射

默认新项目设置用于配置新项目的默认设置,不会影响当前打开的项目。 要配置当前项目的设置,请使用 设置 对话框 Ctrl+Alt+S

同一文件夹内的子文件夹可以有不同的部署设置吗? 本地文件夹可以部署到多个位置吗?

上传文件夹和配置映射时,请注意以下几点:

  • 您可以为特定文件夹指定映射到部署服务器上的不同路径。 这可以在服务器的 部署:映射选项卡 中配置。

  • 您可以排除特定文件夹和文件不被上传/下载。 这可以在服务器的 部署:排除路径选项卡 中配置。

  • 您不能将同一个文件夹(或子文件夹)同时上传到不同的站点。 需要为每个站点创建单独的部署配置,并逐一上传到每个站点。

如果这是您想要的操作,您可以使用 与部署到... 同步 命令,并为每次上传从可用的部署服务器中选择。

我无法为 Sync With Deployed to My Server 菜单项分配键盘快捷键

无法直接为 与部署到 <server name> 同步 命令分配键盘快捷键,只能为通用的 与部署到... 同步 命令分配快捷键,该命令将显示一个包含服务器列表的弹出菜单。 有关更多信息,请参阅 键盘快捷键

如果您希望为特定的部署服务器分配键盘快捷键,可以录制一个宏并为其分配快捷键:

  1. 选择 编辑 | 宏 | 开始录制宏 并开始录制宏。

  2. 选择 工具 | 部署 | 与部署到同步 <server name>并关闭同步窗口。

  3. 通过从主菜单中选择 编辑 | 宏 | 停止录制宏 停止录制宏。

  4. 设置宏名称,例如 Sync with <server name>

  5. 设置 对话框(Ctrl+Alt+S )中打开,选择 按键映射 并找到 节点。 从刚刚录制的新同步宏的上下文菜单中,选择 添加键盘快捷键 并提供所需的快捷键。

如何使用 PhpStorm 部署数据库?

有几种方法可以使用 PhpStorm 部署数据库:

我可以在上传发生之前运行脚本或可执行文件吗?

诸如 压缩 CSS 、优化图像、使用 IonCube编码 PHP 文件等操作,可能是您希望在上传发生之前执行的操作。 执行此操作的最佳方法是,在文件更改时运行它们,而不是在上传开始时,通过在 PhpStorm 中使用 文件监视器。 当需要将它们上传到部署服务器时,上传处理后的文件。

请注意,必须在 选项 页面上清除 跳过外部更改(X) 复选框才能使其生效。

有时文件不会自动上传

默认情况下,如果文件被某些外部进程(如 VCS、转译器等)更改,PhpStorm 会上传这些文件。 如果文件未被上传,请确保 选项 页面上的 自动将更改的文件上传到默认服务器(U) 设置为 始终 ,并清除 跳过外部更改(X) 复选框。

我可以运行部署前和部署后的操作吗?

可以使用运行/调试配置。 您可以创建一个虚拟的运行/调试配置,或者一个应该是最后一步的运行/调试配置,并在 执行前(B) 下添加所需的步骤。

作为替代方案,我们建议使用 Phing 或任何其他构建系统来执行复杂的步骤序列。

FTP 故障排查

FTP 问题:无效的子文件名 "http:"

当部署服务器已配置或在项目设置中使用 测试连接(C) 按钮时,会显示 无效的子文件名 "http:"错误。 请注意,所有名称中带有冒号 : 的文件名都将被视为无效。

如果项目中存在名称中包含 http: 的文件,可能会发生这种情况。 PhpStorm 用于连接到 FTP 的库(Apache Commons VFS)无法读取包含此类文件的文件夹的内容,这会导致操作失败。 唯一的解决方案是从项目中移除名称中包含 http: 的文件。

PhpStorm 似乎已连接到服务器,但无法列出文件或执行上传

这可能是因为部署服务器需要所谓的被动 FTP 连接。 要设置此模式,请在所选服务器的 部署:连接选项卡 中选择 被动模式(P) 复选框。

使用 Git checkout 切换分支时部署文件

有几种方法可以在使用 Git checkout 切换分支时部署文件:

  • 一种方法是配置部署以始终上传文件和外部更改。 为此,在 选项 页面上,将 自动将更改的文件上传到默认服务器(U) 设置为 始终 ,并清除 跳过外部更改(X) 复选框。 请注意,这将在切换分支时将所有文件上传到服务器。

  • 使用 git-ftp。 它执行最小化上传,并且还能够镜像文件和目录的删除。

FTPS 故障排查

PhpStorm 无法与 FTPS 服务器建立连接

如果 FTPS 服务器配置为使用 TLS 1.0 / TLS 1.1,PhpStorm 无法连接到它,并显示以下错误消息:

WARN - deployment.ui.WebServerConfigForm - Could not connect to FTPS server on "<deployment-server>". org.apache.commons.vfs2.FileSystemException: Could not connect to FTPS server on "<deployment-server>".

这是因为 PhpStorm 支持通过 TLS 1.2 及更高版本连接到服务器。 TLS 1.0 和 TLS 1.1 已不再受支持,因为这些协议 已被弃用且被认为不安全。

作为一种变通方法,您可以通过调整 PhpStorm 的 JVM 选项来启用 TLS 1.0 / TLS 1.1 支持。 请注意,使用过时的协议可能会并且将会对您的环境引入安全风险,应将其视为最后的选择。

  1. 创建一个包含以下内容的 custom.java.security 文件:

    jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, \ DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \ include jdk.disabled.namedCurves
  2. 请选择 帮助 | 编辑自定义虚拟机选项… 从主菜单。

  3. 在打开的 .vmoptions 文件中,添加以下行:

    -Djava.security.properties=${PATH_TO_CREATED_FILE}/custom.java.security

    {PATH_TO_CREATED_FILE} 替换为创建的 custom.java.security 文件的路径。

  4. 重启 PhpStorm。

最后修改日期: 2025年 9月 26日