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

执行git commit命令触发Docker报错:no such service: php

解决git commit时提示"no such service: php"的问题

可能原因

这个错误大概率是**Git钩子(Git Hook)**导致的——你的项目里可能配置了pre-commit或类似的钩子脚本,脚本中执行了依赖Docker PHP服务的命令(比如代码检测、格式化工具),但当前环境中Docker的PHP服务不存在或未启动。

解决方案

1. 临时禁用Git钩子排查问题

进入项目的.git/hooks目录,查看是否存在pre-commit、commit-msg等可执行脚本:

ls -la .git/hooks

如果发现相关钩子脚本,先重命名禁用它,再尝试提交:

mv .git/hooks/pre-commit .git/hooks/pre-commit.bak

之后执行git commit -m "some"或用GitHub Desktop提交,验证是否还报错。

2. 修复钩子的Docker依赖

如果钩子是项目必需的(比如用于代码校验),按以下步骤处理:

  • 检查项目根目录的docker-compose.yml,确认是否定义了php服务
  • 若存在php服务,先启动对应的Docker容器:
docker-compose up -d php
  • 若没有php服务定义,要么修改钩子脚本移除依赖Docker PHP的命令,要么补充对应的Docker服务配置。

3. 检查全局Git钩子

少数情况是全局Git钩子导致的,先查看全局钩子路径:

git config --get core.hooksPath

如果返回了具体路径,进入该目录检查是否有相关钩子脚本,按上述方法处理即可。


内容的提问来源于stack exchange,提问作者Александр Куликов

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 14:41:31