Erreur D'Image dans DOMPDF pour ZF2

Bonjour tout le monde et bienvenue, désolé pour mon anglais pas ma langue principale. Je suis aussi un débutant sur Zend Framework 2. J'ai eu un problème avec DOMPDF dans ZF2, quand j'ai essayé de montrer une image dans ma page web (virtualhost avec apache2, le dossier dans le bureau). Par exemple:

<img src="/home/luifer/logo_uca.png" alt="logo_uca" />

avec l'erreur:

[Sun May 18 12:28:45.023452 2014] [:Erreur] [pid 7195] [client 127.0.0.1:57089] PHP Fatal error: Uncaught exception 'DOMPDF_Exception' avec le message 'Pas au niveau du bloc parent trouvés. Pas bonne.' dans /home/luifer/Desktop/zend framework 2-tutorial/vendor/dompdf/dompdf/include/inline_positioner.cls.php: 37nStack trace:n#0 /home/luifer/Desktop/zf2-tutorial/vendor/dompdf/dompdf/include/frame_decorator.cls.php (700): Inline_Positioner->position ()n#1 /home/luifer/Desktop/zf2-tutorial/vendor/dompdf/dompdf/include/inline_frame_reflower.cls.php (36): Frame_Decorator->position()n#2 /home/luifer/Desktop/zend framework 2-tutorial/vendor/dompdf/dompdf/include/frame_decorator.cls.php(711): inline_frame_reflower->reflow (NULL)n#3 /home/luifer/Desktop/zf2-tutorial/vendor/dompdf/dompdf/include/page_frame_reflower.cls.php(123): Frame_Decorator->brasage()n#4 /home/luifer/Desktop/zend framework 2-tutorial/vendor/dompdf/dompdf/include/frame_decorator.cls.php(711): Page_Frame_Reflower->reflow (NULL)n#5 /home/luifer/Desktop/zf2-tutorial/vendor/dompdf/dompdf/include/dompdf.cls.php(949)): Frame_Decorator- > reflow()n#6 /home/luifer/Desktop/zf2-tutorial/vendor/dino/dompdf-module/src/ in /home/luifer/Desktop/zf2-tutorial/vendor/dompdf/include/inline_positioner.cls.php sur la ligne 37

Quand j'ouvre la même page sur le navigateur manuellement (clic droit ouvrir la page avec le navigateur) l'image s'affiche dans la page.

juste au cas, ma fonction de contrôleur:

    public function extraordinarioAction()
{
    //quitar de la bd

    $pdf = new PdfModel();

    return $pdf;

}

et ma page de vue est extraordinario.phtml avec une page html dessus. J'ai essayé une page simple avec une image de chargement et rien ne s'affiche, juste une page vierge avec cette erreur.

quelqu'un sait comment résoudre ce problème? J'ai déjà fait certaines choses comme activer le mbstring .

des idées? Et merci à l'avance.

0
demandé sur luifer99 2014-05-18 20:48:29

2 réponses

pour L'autre réponse: la question pourrait être soulevée parce que DomPDF ne peut pas lire le dossier. Puisque vous avez DomPDF en cours d'exécution dans votre application web, php est probablement propriétaire du processus (par exemple www-data ). Cet utilisateur devrait avoir accès en lecture à l'image que vous voulez lire.

un Autre problème est que vous avez l'image à l'intérieur /home/luifer . Parfois, les répertoires utilisateurs sont illisibles pour les autres utilisateurs.

Donc: votre meilleure option est de placer l'image dans un emplacement partagé (par exemple, quelque part dans /var/www ). Sinon, assurez-vous que le fichier est lisible pour d'autres ( chmod a+r logo_uca.png ) et que tous les répertoires parents sont exécutables pour d'autres ( chmod a+x /home/luifer ). Veuillez vérifier chaque répertoire, vous dites "le dossier dans le bureau" donc, si votre fichier est placé dans /home/luifer/Desktop , cocher la case Desktop fichier ainsi.

1
répondu Jurian Sluiman 2014-05-19 19:08:13

selon la documentation dompdf disponible ici: https://code.google.com/p/dompdf/wiki/FAQ

Il dit: "Cela devrait être résolu dans les versions 0.4.1 et. L'erreur a été causée par le fait que parse_url() pensait que le 'c' dans 'c:\' était un protocole. La Version 0.4.1 traite de cette question. Un autre problème est causé par des fichiers envoyez pas correctement. Essayez de recharger les fichiers."

Espère que ça aide.

0
répondu alex 2014-05-18 19:54:44