Classe ‘mPDF’ introuvable dans Yii2

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

Le travail de page sur localhost sous Windows et Xampp Quand j’essaie de lancer la page sur Debian 8, j’ai une erreur:

Class 'mPDF' not found 

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

fonction en 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 mal, cela ne fonctionne pas sur Debian

Résolu! Comme mentionné précédemment, il était dû à des cas de capital.

J’ai utilisé la suite et il fonctionne maintenant sur CENTOS 7 (probablement similaire sur la plupart des versions de Linux)

  

Et puis utilisez-le comme suit:

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

Dans mon cas, que je viens de résoudre, l’ajout de ‘mPDF \’ => array ($ vendorDir. ‘/ Mpdf’) à autoload_psr4.php m’a obligé à nommer la plupart des fichiers de classe dans ../mpdf/classes en utilisant l’ espace de noms de ligne mPDF ; Parmi les erreurs que j’ai corrigées, il y avait aussi include à include_once pour empêcher php de voir certaines classes comme une déclaration en double malgré la présence de class_exists () test

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

Le plus simple à faire, sans modifier manuellement le fichier de composition, était de modifier l’utilisation / l’importation dans le contrôleur:

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