drupal 7 站点中 dompdf 的致命 PHP 错误


Fatal PHP error with dompdf in drupal 7 site

我正在尝试向Drupal 7网站添加一些dompdf功能。我使用作曲家自动加载来加载dompdf。在Windows PC dompdf上的XAMPP安装中,dompdf工作正常,并产生漂亮的pdf文件。

我已将文档根目录复制到运行 RHEL Linux 的 AWS 上的 EC2 实例。现在我收到一个致命的PHP错误。我认为这可能是因为自动加载由于某种原因不起作用,所以我更改了索引.php如下所示

define('DRUPAL_ROOT', getcwd());
if(file_exists(DRUPAL_ROOT . '/vendor/autoload.php')) {
  include DRUPAL_ROOT . '/vendor/autoload.php';
}

这没有区别,尽管我检查了DRUPAL_ROOT正常并且是正确的/var/www/html。

我试过把

$pdf = 新 Dompdf((;

包含后只是为了看看我们是否可以通过错误阶段,我仍然收到以下致命错误

PHP 致命错误:在第 20 行的/var/www/html/index.php 中找不到类 'Dompdf'

在我看来,自动加载在这种环境中不起作用,但我不知道为什么。

我在 Amazon EC2 上运行 RHEL,使用 PHP 5.4.16,并且正在运行 Drupal 7

还有其他人有处理此类问题的经验吗?

问候

理查

如果您在 composer.json 中指定 0.6 作为目标版本,这应该有效,例如:

{
  "require" : {
    "dompdf/dompdf" : "0.6.*"
  }
}

如果您使用的是 0.7,目前处于测试阶段:

{
  "require" : {
    "dompdf/dompdf" : "0.7.*@beta"
  }
}

然后,在实例化类之前,首先需要引用命名空间:

use Dompdf'Dompdf;

如果您使用的是PHP版本5.4,Dompdf 0.7将无法正常工作。 我不相信"USE"在 PHP 版本 5.6 之前可用。我仍在尝试让 Dompdf 与 PHP 版本 5.4 一起使用,因为我的托管站点仅支持 PHP 5.3 和 5.4。