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

Bitbucket Pipelines部署Laravel Dusk遇PHP7库加载失败,求对应API版本

解决Laravel Dusk在Bitbucket Pipelines中的PHP模块API版本不匹配问题

我来帮你搞定这个版本兼容的坑——你遇到的PHP模块API不匹配问题,本质是镜像里的PHP主版本和你安装的依赖版本对不上,咱们一步步来解决:

先搞懂问题根源

PHP的Module API版本是和主版本严格绑定的:

  • Module API 20160303 对应PHP 7.0
  • Module API 20170718 对应PHP 7.2

你现在的情况是:镜像自带的PHP是7.0版本,但你用apk update安装的php7-xmlwriter、php7-pdo_mysql这类依赖,是Alpine仓库默认的7.2+版本,两者API不兼容,自然加载失败。

具体解决办法

方案1:换用版本匹配的Docker镜像(最省心)

别再用angelomaragna/networld-dusk这个镜像了,找一个Laravel Dusk专用、版本明确的镜像,或者自己基于官方PHP镜像构建:

  • 可以直接用社区维护的laradock/dusk镜像,专门适配Dusk且版本兼容
  • 或者自己写Dockerfile,基于php:7.0-alpine搭建:
    FROM php:7.0-alpine
    
    # 安装PHP 7.0对应版本的依赖
    RUN apk add --no-cache \
        php7.0-xmlwriter \
        php7.0-pdo_mysql \
        php7.0-session \
        php7.0-pdo \
        # 加上Dusk必需的浏览器依赖
        chromium \
        chromium-chromedriver
    
    # 安装Composer
    RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
    

方案2:在现有镜像中安装PHP 7.0对应版本的依赖

如果不想换镜像,你可以手动指定安装Alpine仓库里PHP 7.0系列的包:

  1. 先确认当前镜像的PHP版本:
    php -v
    
    输出应该显示是7.0.x版本。
  2. 搜索仓库里的PHP 7.0包:
    apk search --no-cache php7.0-*
    
  3. 安装对应版本的依赖,指定版本前缀确保匹配:
    apk add --no-cache \
        php7.0-xmlwriter=7.0.* \
        php7.0-pdo_mysql=7.0.* \
        php7.0-session=7.0.* \
        php7.0-pdo=7.0.*
    
  4. 再安装Composer,此时应该不会再出现模块加载警告了。

方案3:手动编译匹配API版本的PHP模块(适合进阶用户)

如果前两个方案都不行,你可以手动编译对应PHP 7.0的模块:

  1. 安装编译依赖:apk add --no-cache gcc make autoconf php7.0-dev
  2. 从PHP官方源码库下载7.0版本的对应模块源码(比如pdo、session)
  3. 用phpize初始化编译环境,执行./configure && make && make install,编译出匹配20160303 API的.so文件
  4. 替换镜像中原有的模块文件,重启PHP服务

Bitbucket Pipelines配置注意事项

在你的bitbucket-pipelines.yml里,记得:

  • 保持privileged: true模式(你已经设置了,这点很重要,因为Dusk需要Chrome的特权权限)
  • 确保构建步骤里的依赖安装命令和PHP版本严格匹配,不要混用不同版本的PHP包

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:20:09