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