Bonjour à tous,
Ayant vu le dernier tutoriel de Grafikart portant sur la librairie Imagine que j'ai trouver très intéressant, j'ai voulu l'essayer dans la foulée mais bien évidemment tout ne se passe pas comme prévue...

Voici un exemple simple:

<?php
echo 'Premiere sortie text';
include 'imagine.phar';
echo 'Deuxieme sortie text';
?>

Normalement je devrait avoir les deux echo mais je n'est que le premier, l'importation de la librairie imagine (avec include, include_once, require, require_once) déclenche un exit() sans aucune erreur d'afficher, se qui n'aide pas vraiment pour trouver l'origine d'un tel problème.

Concernant la partie serveur, je suis sur un dédié kimsufi de ovh, en debian squeeze. Sur les conseille de Alex-D, j'ai regarder du coté des log apache mais rien de concret, pas d'erreur ni rien, j'ai donc jeter un oeil du coté des extensions phar mais impossible de trouver comment être certain que php et apache les accepte.

Avez vous une idée de ce qui peux poser ce problème? (phpinfo du serveur: http://www.stanislas-poisson.fr/phpinfo.php/)

Merci d'avance à ceux qui vont accepter de m'aider.

EDIT:

Je ne sais pas pourquoi,... le joie de l'informatique mais l'inclusion ne porte plus de probleme, c'est maintenant au tour de la créationde l'objet imagine...

<?php
echo '1';
include'imagine.phar';
echo '2';
$imagine = new Imagine\Gd\Imagine();
echo '3';
?>

cela ne m'affiche que 1 et 2. il y a donc eu un problème sur le new Imagine.

Faut il une version minimale de php afin de pouvoir utiliser les namespaces (je suis sur php 5.3.3-7)

4 réponses


StanislasP
Auteur
Réponse acceptée

Trouver...
Un truc bête, même quand le phpinfo vous dis que l'extension phar est accepter, il faut donner encore une autorisation...

Pour les serveur dédié:

  • Connecter vous en root avec puty.

  • utiliser la commande suivant: nano /etc/php5/conf.d/suhosin.ini

  • decommenter la ligne suhosin.executor.include.whitelist=

  • ajouter ceci a la ligne decommenter "phar" pour la faire devenir: suhosin.executor.include.whitelist="phar"

  • ctrl+x pour quitter, o pour enregistrer les modifications puis entrer pour valider le nom.

  • Un restart de apache ne suffit pas, il faut faire un stop start:

  • utilise la commande suivant pour stopper apache: /etc/init.d/apache2 stop

  • utilise la commande suivant pour demarrer apache: /etc/init.d/apache2 start

  • Voila, vous pouver tester, la librairie fonctionne desormais. (penser par contre a donner les droit en ecriture (chmod) sur les dossier ou vous aller enregistrer les images sinon vous aurez droit à des erreurs 500.

Ce problème m'a fait perdre une bonne heure !
Merci à toi pour la solution !

Au moins, j'ai aider quelqu'un qui n'as perdu qu'une heure et pas 3 jours :p

Même problème que toi. Merci beaucoup!