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

使用自定义PHP镜像时Bitbucket Pipeline执行失败

问题描述

我制作了自定义Docker镜像并推送到DockerHub,将其配置到Bitbucket Pipeline后,镜像能正常拉取,但执行任何PHP命令都无反应,连php -v都没有输出。我试过在Intel处理器的本地环境构建镜像,也试过直接在Bitbucket上构建后推送到DockerHub,两种方式都没能解决问题。

执行输出情况

截图显示:执行ls -lh /usr/local/bin能正常列出目录内容,但php -v命令执行后无任何输出,直接结束。

Pipeline配置

definitions:
  services:
    mariadb:
      image: mariadb:10.6.4
      environment:
        MYSQL_DATABASE: 'redacted'
        MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
        MYSQL_USER: 'redacted'
        MYSQL_PASSWORD: 'redacted'
  steps:
    - step: &TestPHP
        name: Test PHP
        image:
          name: "sensetence/hcwcrm-php80fpm:latest"
          username: $DOCKERHUB_USERNAME
          password: $DOCKERHUB_TOKEN
        deployment: test
        services:
          - mariadb
        script:
          - cd api
          - ls -lh
          - ls -lh /usr/local/bin
          - php -v

镜像构建Dockerfile(省略部分软件安装步骤)

FROM php:8.0.25-fpm-alpine

ARG UID
ARG GID

ENV UID=${UID}
ENV GID=${GID}

RUN mkdir -p /var/www/html

WORKDIR /var/www/html

# MacOS staff group's gid is 20, so is the dialout group in alpine linux. We're not using it, let's just remove it.
RUN delgroup dialout

RUN addgroup -g ${GID} --system symfony
RUN adduser -G symfony --system -D -s /bin/sh -u ${UID} symfony

RUN sed -i "s/user = www-data/user = symfony/g" /usr/local/etc/php-fpm.d/www.conf
RUN sed -i "s/group = www-data/group = symfony/g" /usr/local/etc/php-fpm.d/www.conf
RUN echo "php_admin_flag[log_errors] = on" >> /usr/local/etc/php-fpm.d/www.conf

[... 此处省略软件安装、文件复制、supercronic配置步骤]

排查建议

  • 检查PHP二进制文件权限:在Pipeline脚本中添加ls -lh /usr/local/bin/php,确认文件存在且拥有执行权限(显示-rwxr-xr-x类权限)。
  • 指定完整路径执行PHP:尝试执行/usr/local/bin/php -v,避免PATH环境变量配置问题导致的命令无法找到。
  • 验证PATH环境变量:添加echo $PATH到脚本,确认/usr/local/bin在PATH列表中。
  • 检查动态依赖完整性:Alpine使用musl libc,执行ldd /usr/local/bin/php查看PHP依赖的系统库是否完整。
  • 测试用户权限:尝试切换到root用户执行su - root -c "php -v",排查当前symfony用户是否有执行PHP的权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 23:50:25