You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Yii2项目PhpStorm远程Codeception单元测试配置问题

解决PhpStorm 2017.3远程Yii2 Codeception单元测试配置问题

我之前也碰到过一模一样的情况——手动在服务器上跑Codeception测试完全正常,但PhpStorm非要用自带的phpunit.php助手脚本,结果找不到项目vendor里的PHPUnit。针对你的2017.3版本,下面是具体的解决步骤:

1. 重新配置Codeception测试框架

打开PhpStorm设置(File > Settings 或快捷键 Ctrl+Alt+S),导航到 Languages & Frameworks > PHP > Test Frameworks:

  • 点击左上角的+按钮,选择 Codeception。
  • 在弹出的配置窗口中,选中你已经设置好的Remote PHP CLI解释器。
  • 关键操作:不要勾选"Use Composer autoloader",直接在"Codeception script"字段填写服务器上的Codeception脚本路径:
    /var/www/vhosts/mydomain.com/httpdocs/yii2/vendor/bin/codecept
    
  • 在"Configuration file"字段填写你的项目Codeception配置文件路径:
    /var/www/vhosts/mydomain.com/httpdocs/yii2/codeception.yml
    
  • 点击Apply保存配置。

2. 创建正确的Codeception运行配置

接下来要调整运行/调试配置,确保PhpStorm执行原生的Codeception命令:

  • 点击顶部菜单栏的 Run > Edit Configurations,点击+按钮选择 Codeception。
  • 在配置界面的基础设置中:
    • 选择刚才配置好的Codeception框架实例。
    • "Test kind"选择 Directory,然后指定单元测试目录:
      /var/www/vhosts/mydomain.com/httpdocs/yii2/tests/unit
      
    • 勾选"Use alternative configuration file",并指向你的codeception.yml文件。
  • 切换到Command Line标签页,你会看到生成的命令类似这样:
    ssh://user@mydomain.com:22/opt/plesk/php/5.6/bin/php /var/www/vhosts/mydomain.com/httpdocs/yii2/vendor/bin/codecept run unit --config /var/www/vhosts/mydomain.com/httpdocs/yii2/codeception.yml
    
    这个命令直接调用了项目vendor里的Codeception,完全避开了PhpStorm的助手脚本。
  • 保存配置后,运行这个配置就能正常执行单元测试了。

额外排查点

如果还是有问题,可以检查这几点:

  • 确认远程PHP解释器的连接正常,PhpStorm能访问到服务器上的项目文件。
  • 确保SSH用户对vendor/bin/codecept和vendor/phpunit目录有执行和读取权限。
  • 2017.3版本的界面虽然和新版本略有差异,但核心逻辑不变:让PhpStorm直接调用项目的Codeception脚本,而非依赖自带的PHPUnit助手。

内容的提问来源于stack exchange,提问作者keeg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:55:24