排查常见的部署问题
本节提供了 PhpStorm 中与 部署相关的常见问题的解决方案和变通方法列表。
收集 PhpStorm 部署日志
如果您的问题未在本节中解决,请联系我们的支持工程师。 如果需要提供部署日志,请 按照说明收集它们。
收集部署日志
在主菜单中选择 。
在打开的 自定义调试日志配置 对话框中,根据您遇到的问题添加以下行:
与部署/同步相关的问题:
#com.jetbrains.plugins.webDeployment与 SSH/SFTP 相关的问题:
#com.intellij.ssh

单击 确定 并重现问题。
通过选择 (适用于 Windows 和 Linux)或 (适用于 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 等。 在大多数情况下,您只需要最新的日志文件。
常规故障排查
部署速度慢或失败
部署可能是一个资源密集型操作,尤其是当项目或部署服务器包含大量目录和文件时。 在 设置 对话框(Ctrl+Alt+S )中,导航到 构建、执行、部署 并探索以下配置选项,这些选项可以加快部署速度:
从部署中排除不需要的目录(例如,图像)。 这可以在 部署:排除路径选项卡 页面完成。
在 选项 页面,清除 覆盖最新文件(W) 以跳过上传不需要上传的文件。
根据服务器的不同,在高级 FTP 设置中切换主动和被动传输模式可能会有所帮助。 这可以通过在 部署:连接选项卡 的 被动模式(P) 中切换来完成。
文件传输无响应
如果 PhpStorm 尝试通过 IPv6解析 IPv4主机时,可能会发生这种情况。 默认情况下,PhpStorm 仅监听传入的 IPv4 连接。 要确保已禁用 IPv6,请检查 PhpStorm 的 JVM 选项:
请选择 从主菜单。
在打开的 .vmoptions 文件中,确保存在
-Djava.net.preferIPv4Stack=true行。重启 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> 同步 命令分配键盘快捷键,只能为通用的 与部署到... 同步 命令分配快捷键,该命令将显示一个包含服务器列表的弹出菜单。 有关更多信息,请参阅 键盘快捷键。
如果您希望为特定的部署服务器分配键盘快捷键,可以录制一个宏并为其分配快捷键:
选择 并开始录制宏。
选择 <server name>并关闭同步窗口。
通过从主菜单中选择 停止录制宏。
设置宏名称,例如 Sync with <server name>。
在 设置 对话框(Ctrl+Alt+S )中打开,选择 按键映射 并找到 宏 节点。 从刚刚录制的新同步宏的上下文菜单中,选择 添加键盘快捷键 并提供所需的快捷键。
如何使用 PhpStorm 部署数据库?
有几种方法可以使用 PhpStorm 部署数据库:
利用 集成的数据库工具并手动运行所需的 DDL 和 SQL 语句。
使用 Phing 并 设置一个 DBDeploy 任务。
我可以在上传发生之前运行脚本或可执行文件吗?
诸如 压缩 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 切换分支时部署文件:
FTPS 故障排查
PhpStorm 无法与 FTPS 服务器建立连接
如果 FTPS 服务器配置为使用 TLS 1.0 / TLS 1.1,PhpStorm 无法连接到它,并显示以下错误消息:
这是因为 PhpStorm 支持通过 TLS 1.2 及更高版本连接到服务器。 TLS 1.0 和 TLS 1.1 已不再受支持,因为这些协议 已被弃用且被认为不安全。
作为一种变通方法,您可以通过调整 PhpStorm 的 JVM 选项来启用 TLS 1.0 / TLS 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请选择 从主菜单。
在打开的 .vmoptions 文件中,添加以下行:
-Djava.security.properties=${PATH_TO_CREATED_FILE}/custom.java.security将
{PATH_TO_CREATED_FILE}替换为创建的 custom.java.security 文件的路径。重启 PhpStorm。