0

尝试通过 composer 加载 dompdf lib 时,我遇到了一个非常烦人的错误。

致命错误:require_once():无法打开所需的“dompdf_config.inc.php”(include_path='.:/usr/local/Cellar/php54/5.4.15/lib/php')

我可以告诉我的 php 配置确定加载了 DOM 扩展

这是测试代码

require 'vendor/autoload.php';
require_once("dompdf_config.inc.php");
$html =
    '<html><body>'.
    '<p>Hello World!</p>'.
    '</body></html>';

$dompdf = new DOMPDF();
$dompdf->load_html($html);

$dompdf->render();
$dompdf->stream("hello_world.pdf");

我通过composer安装了dompdf:

我错过了什么?

4

4 回答 4

2

以您required发表声明的方式。

require_once("dompdf_config.inc.php");

该文件dompdf_config.inc.php必须与您的脚本位于同一路径中。

于 2013-06-15T12:02:29.073 回答
0

There are a few things that you need to do before having dompdf be in a usable state when using Composer.

I followed the installation instructions when using Composer found in a pull request:

https://github.com/adrianmacneil/dompdf/commit/8435a0c2f889698c9edc92ca461f78b27df45549

于 2013-06-17T18:04:52.650 回答
0

如果您的 PHP 扩展和应用程序的默认位置不匹配,您可以使用(例如)设置包含路径:

define('INCLUDE_PATH', '/home/username/php');
@ini_set("include_path", INCLUDE_PATH);

如果您不知道 PHP 扩展的位置,请检查您的 PHP 配置或询问您的托管公司。

如果您不想更改此选项的值,请找出“dompdf_config.inc.php”的位置并在执行require_once时使用其完整路径

于 2013-06-15T13:19:43.667 回答
0

我遇到了同样的问题,我通过删除作曲家添加的 dompdf 并下载了一个版本来修复它,该版本包含autoload.inc.php我添加的代码

require_once ('vendor/dompdf/dompdf/autoload.inc.php');

然后为避免Failed to load PDF document错误,您必须ob_end_clean();在下面的代码中添加

ob_end_clean();
// Output the generated PDF to Browser
$dompdf->stream();
于 2021-04-12T18:39:59.340 回答