我正在尝试向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。