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

如何在DDEV环境配置Chrome/Chromium替代wkhtmltopdf?相关插件是否适用?

在DDEV中配置Chrome/Chromium用于Entity Print替代wkhtmltopdf

插件适配性说明

  • ddev-selenium-standalone-chrome:专为Selenium自动化测试打造的独立Chrome环境,和PHP直接调用Chrome生成PDF的需求完全不匹配
  • headless-chrome插件:同样偏向测试场景,并非为PHP项目集成PDF生成设计,所以你的判断没错,这俩都不符合你的目标

正确配置步骤

1. 在DDEV容器内安装Chrome/Chromium

先创建项目的.ddev/web-build目录(如果不存在),然后在该目录下新建Dockerfile,写入以下内容:

# 更新源并安装Chromium及依赖
RUN apt-get update && apt-get install -y --no-install-recommends chromium chromium-driver
# 设置环境变量,让PHP能定位到Chrome二进制文件
ENV CHROME_BIN=/usr/bin/chromium

2. 安装PHP的chrome-php/chrome库

执行以下命令进入DDEV容器并安装依赖:

ddev composer require chrome-php/chrome

3. 配置Entity Print切换到Chrome引擎

登录Drupal后台,进入Entity Print配置页(路径:/admin/config/content/entity-print):

  • 将“PDF引擎”切换为Chrome
  • 设置Chrome二进制路径为/usr/bin/chromium
  • 勾选启用无头模式(Headless Mode)

4. 验证配置

生成一个测试PDF,确认能正常渲染输出。如果遇到权限或启动问题,可以在.ddev/config.yaml中添加调试端口配置(仅用于排查,生产环境可移除):

web_extra_exposed_ports:
  - name: chrome-debug
    container_port: 9222
    http_port: 9222
    https_port: 9223

常见问题排查

  • 确认Chrome安装成功:执行ddev exec chromium --version查看版本
  • 检查php-chrome库和PHP版本兼容性,避免版本冲突
  • 若出现内存不足报错,可在.ddev/config.yaml中调整PHP内存限制:
    web_environment: ["PHP_MEMORY_LIMIT=512M"]
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 01:01:03