Plugin Media Class 'Imagine\Gd\Imagine' not found

Par Gwy2, il y a 12 ans


Bonjour,
il y a déjà beaucoup de post sur le pluginMedia et je vais malheureusement en ouvrir un nouveau.
Le pluginMedia fonctionne parfaitement en local et j'ai un problème uniquement en ligne.

Lors de la génération de la miniature, j'ai un message d'erreur

Error: Class 'Imagine\Gd\Imagine' not found
File: /home/gaulemor/public_html/app/Plugin/Media/View/Helper/MediaHelper.php
Line: 33
Notice: If you want to customize this error message, create app/View/Errors/fatal_error.ctp

Si met l'image manuellement, l'erreur n'apparait pas. C'est donc un problème dans le redimensionnement.
Auriez-vous une idée du problème ? Je ne comprends pas pourquoi le plugin marche en local et pas en ligne.

Voici le MediaHelper : la ligne 33 est $imagine = new Imagine\Gd\Imagine();

// On a déjà le fichier redimensionné ?
        if (!file_exists($dest_file)) {
            require_once APP . 'Plugin' . DS . 'Media' . DS . 'Vendor' . DS . 'imagine.phar';
            $imagine = new Imagine\Gd\Imagine();
            try{
                $imagine->open($image_file)->thumbnail(new Imagine\Image\Box($width, $height), Imagine\Image\ImageInterface::THUMBNAIL_OUTBOUND)->save($dest_file, array('quality' => 90));
            } catch (Imagine\Exception\Exception $e) {
                $alternates = glob(str_replace(".{$pathinfo'extension']}",".*", $image_file));
                if(empty($alternates)){
                    return '/img/error.jpg';
                }else{
                    try{
                        $imagine->open($alternates[0])->thumbnail(new Imagine\Image\Box($width, $height), Imagine\Image\ImageInterface::THUMBNAIL_OUTBOUND)->save($dest_file, array('quality' => 90));
                    } catch (Imagine\Exception\Exception $e) {
                        return '/img/error.jpg';
                    }
                }
            }
        }

Voici la génération de la miniature dans mon index.ctp :

<?php if (!empty($v'Post']'thumb'])): ?>
<?php echo $this->Media->image($v'Post']'thumb'], 300, 168); ?>
<?php if (!empty($v'Post']'content'])): ?>
<p><?php echo $this->Text->truncate($v'Post']'content'] = preg_replace('/<img(.*?)>/', '', $v'Post']'content']), 65, array('html' => true)); ?></p>

6 réponses

Grafikart, il y a 12 ans

On dirait que ton hébergeur ne supporte pas l'inclusion du phar :(
Tu arrive à inclure la librairie en dehors du framework ?

Gwy2, il y a 12 ans

Je suis assez surpris car mon hébergeur est assez complet (me semble t'il) : e-clicking
Comment puis je savoir si la librairie est inclue ?

Gwy2, il y a 12 ans

Bonsoir,
Je suis de temps en temps en relation avec les techniciens du serveur. Pourriez-vous me dire qu'elle est le nom du composant qui n'est pas installer ou la librairie ?
Je vais essayé de prendre contact avec eux.

Merci de votre réponse.

Gwy2, il y a 12 ans

Merci beaucoup de ta réponse. Je vais directement les contacter.

Gwy2, il y a 12 ans

Bonsoir,
Je viens d'avoir la confirmation que le phar n'étais pas actif.
Mon site va être migré sur un nouveau serveur qui possède le phar.

Merci Grafikart d'avoir identifié ce problème. Sans ta réponse, je serais sans doute encore bloqué.