班级' mPDF'在Yii2中找不到

时间:2016-02-05 19:20:07

标签: server yii2 debian mpdf

我的服务器页面有问题。 我使用的是yii2框架和mPDF; 全部按照说明进行配置:http://www.bsourcecode.com/yiiframework2/create-pdf-files-using-mpdf-in-yiiframework-2-0/

Windows和Xampp上的localhost页面工作 当我尝试在Debian 8上运行页面时,我有错误:

Class 'mPDF' not found

配置:http://www.bsourcecode.com/yiiframework2/create-pdf-files-using-mpdf-in-yiiframework-2-0/

php中的

功能:

public function actionCreatepdf()
    {
        $request = Yii::$app->request;
        $generate_table = $request->post();

        $mpdf = new mPDF;
        $mpdf->WriteHTML($this->renderPartial('view_pdf', ['data'=>$data]));
        $mpdf->Output('data.pdf', 'D');
        exit;
    }

我不知道我做错了什么,它不是在Debian上运行

3 个答案:

答案 0 :(得分:1)

解决!如前所述,这是由于死刑案件。

我使用了以下内容,它现在正在使用CENTOS 7(在大多数Linux版本上可能类似)

<?php
namespace app\controllers;
    use Yii;
    //use mPDF;  Note this line is Commented out
    use mpdf;

然后按如下方式使用它:

public function actionIndex(){

            $model = new Mpdf();
            $model->SetHeader('header');
            $model->WriteHTML("PDF contents");
            $model->SetFooter('footer');
            $model->Output('MyPDF.pdf', 'D');
            exit;
        }

答案 1 :(得分:1)

从Ubuntu(php 5.6)迁移到CentOS 7(PHP 7.1)时出现此问题

最简单的方法是在不手动编辑composer文件的情况下更改控制器中的use / import:

number = title[:title.find('_')]
>>> number
'01'
>>> track = title[len(number) + 3:len(title)-4]
>>> track
'Respect'

答案 2 :(得分:0)

在我刚刚解决的情况下,添加 的&#39; MPDF \&#39; =&GT;数组($ vendorDir。&#39; / mpdf&#39;)到autoload_psr4.php要求我使用该行来命名../mpdf/classes中的大多数类文件 命名空间mPDF; 我修复的错误之一是改变包括include_once以防止php看到一些类作为重复声明尽管存在class_exists()测试