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

wkhtmltoPDF KnpSnappyBundle报错(状态码127):程序路径找不到求助

解决KnpSnappyBundle生成PDF时wkhtmltopdf路径无法识别的问题

错误信息:

退出状态码127,标准错误输出:sh: 1: /usr/local/bin/wkhtmltopdf: not found

以下是针对该问题的解决方案思路:

1. 确认wkhtmltopdf的实际安装路径

在服务器终端执行命令,查看wkhtmltopdf的真实位置:

which wkhtmltopdf
  • 若输出为空,说明wkhtmltopdf未安装,需根据操作系统选择安装方式:
    • Ubuntu/Debian:sudo apt-get install wkhtmltopdf
    • macOS:brew install wkhtmltopdf
  • 若输出路径与.env中配置的/usr/local/bin/wkhtmltopdf不一致,更新.env文件中的WKHTMLTOPDF_PATH为实际路径。

2. 检查二进制文件的执行权限

确保web服务器用户(如Ubuntu下的www-data)拥有wkhtmltopdf的执行权限:

ls -l /usr/local/bin/wkhtmltopdf

若权限不足,执行命令添加执行权限:

sudo chmod +x /usr/local/bin/wkhtmltopdf

3. 验证Symfony环境变量与缓存

  • 确保.env文件中的环境变量已正确加载,执行缓存清理命令:
php bin/console cache:clear --env=prod
  • 可临时在knp_snappy.yaml中直接使用绝对路径测试,排除环境变量加载问题:
knp_snappy:
    pdf:
        enabled: true
        binary: '/usr/bin/wkhtmltopdf' # 替换为实际路径
        options: []

4. 检查wkhtmltopdf依赖库

wkhtmltopdf依赖部分系统库,Linux环境下若缺失会导致无法运行,可安装以下依赖:

sudo apt-get install libxrender1 libfontconfig1 libxext6

附用户提供的配置代码

knp_snappy.yaml

knp_snappy:
pdf:
    enabled:    true
    binary:     '%env(WKHTMLTOPDF_PATH)%'
    options:    []
image:
    enabled:    true
    binary:     '%env(WKHTMLTOIMAGE_PATH)%'
    options:    []

.env

###> knplabs/knp-snappy-bundle ###
WKHTMLTOPDF_PATH=/usr/local/bin/wkhtmltopdf
WKHTMLTOIMAGE_PATH=/usr/local/bin/wkhtmltoimage
###< knplabs/knp-snappy-bundle ###

Controller代码

/**
 * @Route("/pdf-snappy", name="generate_pdf")
 */
public function snappy(PDF $pdf,UserActivityRepository $userActivityRepository, TestimonyViewRepository $testimonyViewRepository)
{
    $html = $this->renderView('Modules/PDF/test.html.twig');
    
    $pdf->setOption('page-size','A4');
    $pdf->setOption('orientation', 'Landscape');

    return new Response(
        $pdf->getOutputFromHtml($html),
        200,
        array(
            'Content-Type'          => 'application/pdf',
            'Content-Disposition'   => 'inline; filename="' . 'test' . '.pdf"'
        )
    );
}

内容的提问来源于stack exchange,提问作者Clément Lehuede

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 10:50:24