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

dompdf生成PDF时图片不显示,确认文件存在且开enable_remote仍未解决

问题根因

报错明确指向dompdf的chroot安全配置限制:dompdf默认会拦截所有不在chroot指定目录范围内的本地文件读取请求,哪怕文件真实存在、file_exists验证通过也会返回权限拒绝错误。

解决方案

  • 方案1:初始化dompdf时新增chroot配置项,将图片所在的上级目录加入允许访问列表
// 单目录允许访问写法,填你的项目根目录或者图片所在目录的绝对路径即可
$dompdf = new Dompdf( [
    'enable_remote' => true,
    'chroot' => 'C:\xampp\htdocs\project'
] );
$dompdf->loadHtml( $html );

如果有多个存放资源的目录需要放行,直接传数组即可:

'chroot' => ['C:\xampp\htdocs\project', 'D:\其他存放图片的目录']
  • 方案2:统一路径格式避免识别异常
    你当前的路径是Windows盘符+正反斜杠混合格式,虽然PHP原生兼容,但dompdf路径解析可能出现异常,建议用realpath()函数处理生成规范绝对路径:
$image = realpath($folder . "something.jpg");
  • 方案3:确认目录读取权限
    检查图片所在文件夹的权限配置,确保PHP运行账号(Windows下通常是Apache/Nginx的运行用户)拥有该目录的读取权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 18:06:05