为了账号安全,请及时绑定邮箱和手机立即绑定

DOMPDF 无法在 codeigniter 中的实时服务器上工作

DOMPDF 无法在 codeigniter 中的实时服务器上工作

PHP
慕森卡 2023-06-24 18:05:39
我正在使用 codeigniter 框架和 dompdf 生成 pdf 。它在本地主机上工作得很好,但在实时服务器上显示 500 错误。我尝试过调试,但 error_log 文件中没有显示任何错误。这是函数generate_pdf的代码。 public function generate_pdf($content, $name = 'download.pdf', $output_type = null, $footer = null, $margin_bottom = null, $header = null, $margin_top = null, $orientation = 'P'){    $this->load->library('pdf');    $html = '';    if (is_array($content)) {        foreach ($content as $page) {            $html .= $header?'<header>'.$header.'</header>':'';            $html .= '<footer>'.($footer?$footer.'<br><span class="pagenum"></span>' : '<span class="pagenum"></span>').'</footer>';            $html .= '<body><div class="page">'.$page['content'].'</div></body>';        }    } else {        $html .= $header?'<header>'.$header.'</header>' : '';        $html .= $footer?'<footer>'.$footer.'</footer>' : '';        $html .= $content;    }    $this->pdf->set_option('isPhpEnabled', true);    $this->pdf->set_option('isHtml5ParserEnabled', true);    $this->pdf->set_option('isRemoteEnabled', true);    $this->pdf->set_option('enable_html5_parser', TRUE);    // $this->pdf->set_option("DOMPDF_ENABLE_HTML5PARSER", true);    // $this->pdf->loadHtml($html);    $html = preg_replace('/>\s+</', '><', $html);    // $this->pdf->loadHtml($contents);    $this->pdf->loadHtml($html);    // $dompdf->load_html($html);         $this->pdf->setPaper('A4', ($orientation == 'P' ? 'portrait' : 'landscape'));       // $dompdf->set_option('enable_html5_parser', TRUE);    $this->pdf->render();    // $this->pdf->stream("dompdf_out.pdf", array("Attachment" => true));    // exit(0);        if ($output_type == 'S') {        // $output = $dompdf->output();        $output = $this->pdf->output();        write_file('assets/uploads/' . $name, $output);        return 'assets/uploads/' . $name;    }     else {        $this->pdf->stream($name);        return true;    }}
查看完整描述

1 回答

?
HUWWW

TA贡献1874条经验 获得超12个赞

如果您使用的是 Dompdf 0.8.5,这是您的异常行

[$this->protocol, $this->baseHost, $this->basePath] = Helpers::explode_url($file);

如果这适用于本地主机但不适用于实时服务器,这可能是 PHP 版本的问题,因为此行使用 PHP 7.1 中引入的新语法


查看完整回答
反对 回复 2023-06-24
  • 1 回答
  • 0 关注
  • 102 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信