2016-02-05 3 views
1

J'ai un problème avec ma page sur le serveur. J'utilise yii2 framework et mPDF; Tous configuré selon les instructions: http://www.bsourcecode.com/yiiframework2/create-pdf-files-using-mpdf-in-yiiframework-2-0/Classe 'mPDF' introuvable dans Yii2

page travail sur localhost sur Windows et Xampp Lorsque je tente cours page sur Debian 8 J'ai erreur:

Class 'mPDF' not found 

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

fonction

dans 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; 
    } 

Je n'ai aucune idée de ce que je fais g faux, il ne fonctionne pas sur Debian

+0

Les probles était dans le fichier compositeur: autoloadnamespaces.php: ligne corectly dans ce fichier: « MPDF » => array (vendorDir $. '/ mpdf/mpdf'), – vjdj

Répondre

0

Dans mon cas que je viens de résoudre, en ajoutant 'mPDF \' => array ($ vendorDir. '/ mpdf') pour autoload_psr4.php requis pour l'espace de noms la plupart des fichiers de classe dans ../mpdf/classes en utilisant la ligne namespace mPDF; Également parmi les erreurs que j'ai corrigé changeait include include pour éviter que php ne voit certaines classes comme une déclaration en double malgré la présence de class_exists() test

1

Résolu! Comme mentionné précédemment c'était dû aux cas capitaux.

J'utilisé ci-dessous et il travaille actuellement sur CentOS 7 (probablement similaire sur la plupart des versions Linux)

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

Et puis utilisez comme suit:

public function actionIndex(){ 

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

J'ai eu ce problème lors de la migration d'Ubuntu (PHP 5.6) à CentOS 7 (PHP 7.1)

La chose la plus facile à faire, sans manuel ment éditer le fichier compositeur était de changer l'utilisation/importation dans le contrôleur:

//use mPDF; #Php 5.6 
use Mpdf\Mpdf; #Php 7.0