phpstorm 运行配置存储于 config/options/runconfigurations/,不被“export settings”默认包含,需手动勾选“other settings → options”或直接备份 config 目录;跨版本迁移时 xml 可能不兼容,应先由新版本生成空目录再选择性复制并触发重序列化;settings repository 仅同步用户级配置,项目级需手动提交 .idea/runconfigurations/ 并启用 shared;路径类字段(如 php 解释器、工作目录)须改为 project default 和 $projectfiledir$ 以确保可移植。

运行配置(Run Configuration)属于 config 目录下的 options 子目录,不能靠 Export Settings 单独导出
PhpStorm 的运行配置(比如你为 Phinx、PHPUnit、PHP Script 或 CLI 脚本创建的 Run/Debug Configurations)实际存储在 config/options/tasks.xml 和 config/options/runConfigurations/ 目录下。它**不参与「Export Settings…」对话框的默认勾选项**,即使你全选了所有项目,runConfigurations 也不会被包含——因为 JetBrains 明确将其归类为“项目无关但用户级”的运行态配置,而非“界面偏好”类设置。
常见误操作是导出时没留意,结果换机器或重装后所有自定义命令都消失了,只能重新一条条配。
- 导出设置前,务必手动勾选
options目录(在 Export Settings 对话框里找 “Other Settings → Options” 或直接搜options) - 更稳妥的做法:直接备份整个
config目录,里面天然包含options/runConfigurations/ - 若只想要运行配置,可单独压缩
~/.config/JetBrains/PhpStorm2025.1/config/options/runConfigurations/目录(Linux/macOS),Windows 对应路径为%USERPROFILE%\.PhpStorm2025.1\config\options\runConfigurations\
跨版本迁移 runConfigurations 时,XML 格式可能不兼容
从 PhpStorm 2024.3 迁移到 2025.1 时,runConfigurations/*.xml 文件里的 schema 可能已变。典型表现是:配置文件能被识别,但启动时报错 Cannot parse run configuration: unknown attribute 'someNewAttribute',或某些字段(如 PHP interpreter path、working directory 解析逻辑)被忽略。
这不是数据损坏,而是新版解析器对旧格式字段做了静默丢弃或强制重置。
- 不要直接覆盖
runConfigurations/目录,先保留旧版备份 - 用新版本 IDE 启动一次,让它生成空的
runConfigurations/目录,再把旧 XML 文件逐个复制进去(不是全部粘贴,而是挑关键的几个) - 复制后重启 IDE,进
Run → Edit Configurations…查看是否显示为灰色(表示未加载),若是,双击打开该配置 → 点右下角Modify options → Show command line afterwards等任意开关再关掉,触发一次序列化重写,通常就能激活
通过 Settings Repository 同步运行配置最省心,但需注意作用域
Settings Repository 插件会自动同步 config/options/ 下的所有内容,包括 runConfigurations/,只要仓库权限正常、插件启用且已提交过一次。
但它**不会同步项目级运行配置**(即存放在 .idea/runConfigurations/ 下的那些)。这类配置属于项目绑定,受 .gitignore 影响,默认不提交,也不被 Settings Repository 扫描。
- 团队协作中,如果某套 PHPUnit 或 Behat 配置是通用的,建议把它提升为用户级配置(在
Run → Edit Configurations… → Templates里设为 Default),再同步 - 若必须共享项目级配置,直接把
.idea/runConfigurations/加入 Git,但要确认.idea/misc.xml中option name="shared" value="true"已开启 - 同步前先点
Overwrite on server,别依赖自动 push —— 它有时会跳过未修改的文件
手动迁移后,PHP 解释器和工作目录路径常失效
运行配置里硬编码的 PHP interpreter path 和 Working directory 是绝对路径,迁移到另一台机器或重装系统后必然断开。IDE 不会自动修正,也不会报错,只会静默回退到默认解释器或当前项目根目录,导致脚本行为异常(比如找不到 vendor/autoload.php)。
这是最容易被忽略、却最影响执行结果的一环。
- 迁移完成后,必须进
Run → Edit Configurations…,逐个检查每个配置的PHP script和Interpreter options是否指向有效路径 - 推荐改用
Project default解释器(在Settings → Languages & Frameworks → PHP中配置好),然后在运行配置里选择它,而不是填绝对路径 - Working directory 建议统一设为
$ProjectFileDir$,避免手写/home/user/project这类不可移植路径
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










