Après plusieurs difficultés à installer ImageMagick, j'ai maintenant des problèmes pour l'utiliser. Effectivement, avec des commandes basiques, comme
$imagick = new Imagick(); $imagick->readImage('test.jpg'); $imagick->writeImage('test.png');
OU
$imagick = new Imagick(); $imagick->readImage('testy.pdf[0]'); $imagick->writeImage('testy_one.jpg');
Cela me donne les erreurs suivantes : "Fatal error: Uncaught ImagickException: unable to open image 'test.png' : No such file or directory @ error/blob.c/OpenBlob/3496" "Fatal error: Uncaught ImagickException: unable to open image 'testy.pdf': No such file or directory @ error/blob.c/OpenBlob/3496" J'ai pourtant bien ImageMagick d'installé, j'ai la bibliothèque PHP d'installé puisque sur la page phpinfo() je vois bien 'imagick' en module. Par contre, j'ai lu dans différent tutos, que lorsqu'on fait la commande 'convert -version', on est sensé avoir un message sur la version (logique), mais moi j'ai rien du tout. De plus, j'ai vu souvent des test comme 'convert image.png image.jpg', mais idem, j'ai le message suivant qui s'affiche : 'Spécification de lecteur non valide'. Par contre, si je fais 'magick identify --version', là j'ai un message sur la version d'ImageMagick.
J'ai bien évidemment une photo et un pdf avec exactement le même nom dans mon dossier, je me suis placé exactement au bon endroit que ce soit avec mon fichier.php ou avec l'invite de commande. J'utilise des chemins relatifs. J'ai mon dossier dans 'C:\wamp64\www\Projet\projet1.1\fichier.php' ; je lance de là ma page php, et mon image se trouve là 'C:\wamp64\www\Projet\projet1.1\test.png' . Tout ça pour dire que vraiment, vraiment, ce n'est pas un problème de chemin, il est vrai que je n'ai pas testé d'utiliser un chemin absolu, mais ce n'est clairement pas une solution viable si tenté que cela fonctionne. Je suis sous Window 7. J'ai installé GostsScript après ImageMagick (apparemment ça une importance, j'ai pas vu beaucoup de gens parler du lien entre les deux outils). Dans mes variables d'environnement j'ai bien path avec ImageMagick. Je sais pas pourquoi mais la commande
$im = new Imagick (); $im->newImage (300, 225, "blue" )
Marche correctement, j'ai une image bleu qui est crée dans mon répertoire. Et vraiment je le répète, même si dans le message d'erreur il y a écrit que le fichier n'est pas dans le répertoire, j'ai vérifié je ne sais combien de fois, mais j'ai bien les fichiers en questions avec les bon noms et les bonnes extensions.
Je cherche à convertir un PDF en images, c'est pour ça que j'utilise ImageMagick, mais j'ai aussi besoin de GostScript si j'ai bien compris, mais avant de faire des manipulations sur des PDF, il faudrait d'abord qu'au moins la conversion avec des images fonctionne parce qu'il me semble que c'est le truc de base qu'il doit fonctionner.
Je ne sais pas si ça peut servir, mais j'ai WAMP 3.1.7 64bits, PHP 7.2.14, Apache 2.4.37, ImageMagick 7.0.8-41 Q16 x64 2019-04-20, GostsScript 9.27.
Modifie 1 fois. Derniere modification le 29/04/2019 à 14:08 par LeSerrurier.
Je me suis mal exprimé, mais je vais sur l'url 127.0.0.1/monRep/monFichier.php; et non pas le fichier de mon répertoire directement, sinon le php est pas interprété et j'aurais une autre erreur
Pourtant dans mon url, j'ai bien 127.0.0.1, et pas localhost ^^'.
De plus, toutes mes pages en PHP fonctionnent correctement, j'ai déjà effectué d'autres projets avec WAMP, et n'ai jamais utilisé des VirtualHost. Est ce que cela veut dire que pour utiliser d'autres bibliothèques je suis obligé de passer par un VirtualHost?
Je ne sais pas ce qu'est un VirtualHost, je vais aller voir tes liens merci; mais je voudrais savoir, comprendre, pourquoi je devrais en utiliser alors que j'en ai jamais eu le besoin.
Je viens de lire l'article sur les VirtualHosts, je lirai plus tard les explications en bas de page, mais je vois l'idée et l'utilité d'utiliser un VirtualHost.
Cependant, je ne peux pas faire de test pour le moment, je te tiendrai au courant de l'avancée de la chose; mais je ne vois pas ce que cela va apporter à mon problème d'ImageMagick. Cela va m'aider pour mon projet en général, et je te remercie de ton aide pour ça ; mais pour mon problème actuel, je ne vois pas comment cette manipulation le résoudrait.
> Pourtant dans mon url, j'ai bien 127.0.0.1, et pas localhost ^^'. 127.0.0.1 et localhost c'est exactement la même chose. Le premier est une IP locale et le second l'url ou le nom de domaine associé à cette IP.
Relisez bien et vous verrez qu'il y a une différence de chemin entre :
'http://127.0.0.1/monRep/monFichier.php' et 'http://monsite/monFichier.php' et qu'ensuite les chemins absolus calculés des fichiers déclarés en relatif ne seront pas les mêmes, d'où l'erreur fichier non trouvé.
>Relisez bien et vous verrez qu'il y a une différence de chemin entre :
oui ça j'avais compris la différence, mais ça veut dire que mes fichiers en local arrivent à trouver mes autres fichiers avec des include, mais que ImageMagick ne comprend pas le chemin relatif que je lui fournis? Alors que j'ai essayé une commande qui m'enregistre bien une image bleu dans mon répertoire sans aucun problème...
Dés que je le peux, je mettrai en place le VirutalHost et je te tiendrai au courant. Je te remercie de ton aide.
Modifie 1 fois. Derniere modification le 29/04/2019 à 15:43 par LeSerrurier.
> mais ça veut dire que mes fichiers en local arrivent à trouver mes autres fichiers avec des include, > mais que ImageMagick ne comprend pas le chemin relatif que je lui fournis?
Relatif, oui, mais par rapport à quoi ? Là est la question !
Et le relatif d'un include n'a pas la même base que le relatif d'un appel à une fonction imageMagick.
Par rapport à mon fichier.php, comme mes fichiers se trouvent dans le même répertoire, dans la commande je mets juste le nom du fichier, sinon si il est un cran au dessus, je fais "../monfichier.php" etc etc.
>Et le relatif d'un include n'a pas la même base que le relatif d'un appel à une fonction imageMagick.
D'accord, mais pourquoi la commande pour l'image bleu à marché alors?? Je vais mettre en place tout ça maintenant, en espérant que ça marche.
EDIT : J'ai fait tout comme c'est expliqué dans ton tuto, je vois bien mon VirtualHost quand je fais "Ajouter un Virtual Host" sur la page de Wamp, cependant, dans le menu de Wamp, clic gauche icone Wamp, vos VirtualHost, j'ai pas le mien, j'ai juste localhost, j'ai bien redémarrer DNS.
Modifie 1 fois. Derniere modification le 30/04/2019 à 08:32 par LeSerrurier.
C'est la même fonction qui affiche les items “Vos VirtualHosts” dans le menu Clic-Gauche, dans la page d'accueil wampserver (localhost) et dans la page Ajouter un VirtualHost.
Il n'y a aucune raison pour que "siteTest" soit affiché sur la page Ajouter un VirtualHost et pas dans le menu du Clic-Gauche.
Je vous crois, mais pourtant de mon côté il n'y pas l'affichage, de plus, si je rentre le lien (http://siteTest/maPage.html) je suis redirigé vers un autre site.
Modifie 1 fois. Derniere modification le 30/04/2019 à 10:16 par LeSerrurier.
Il serait intéressant de connaître sur quelle url vous êtes redirigé.
Si dans votre dossier c:/wamp64/www/projet/ il n'y a pas de fichier index.php ou index.html, quel que soit le navigateur utilisé (Firefox, Opera, Chrome) et avec 'http://siteTest/' dans la barre d'adresse, voilà ce que vous devriez obtenir :
bien sûr, avec tous les autres fichiers présents.
N'auriez-vous pas des paramètres dans le navigateur ? Ou dans le proxy si vous en utilisez un ?
> Je suis redirigé vers : 'http://sitetest.com/' Le TLD .com est ajouté par le proxy ou le navigateur ou un anti-truc.
Si, après avoir démarré Wampserver, vous lancez un navigateur — n'importe lequel — et que dans la barre d'adresse vous tapez 'http://sitetest/' (Sans les quotes ') que ce passe-t-il ? Vous pouvez effectuer ce test sur plusieurs navigateurs.
D'autre part, quel est le résultat de : Clic-Droit -> Outils -> Vérifier l'ordre de recherche DNS
Wouaaaah, alors, malheureusement, je n'ai accès qu'à Internet Explorer et Firefox. Comme j'utilise uniquement Firefox, je suis allé tester sur Internet Explorer, et là ça fonctionne ... mais après y a pas de proxy sur celui là... intéressant. Je peux aller tester la commande d'ImageMagick aussi...
Voila le résultat :
*** Checking the DNS search order ***
Values of registry keys for HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\ServiceProvider are in correct order
EDIT : ouai bah Internet Explorer il est pas très... voila, en plus c'est une vieille version, lui il reconnait même pas ImageMagick
Modifie 2 fois. Derniere modification le 30/04/2019 à 12:51 par LeSerrurier.
Videz le cache du navigateur. En principe, par défaut, Firefox n'ajoute pas de tld aux url qui n'en ont pas.
Firefox est mon navigateur par défaut et celui utilisé par Wampserver et parmi mes treize VirtualHost, un seul a un tld (local.aviatechno.net) . Firefox ne cherche jamais à ajouter un tld (.com ou autre) aux douze autres url.
Vous pourriez essayer en créant un autre VirtualHost, mais avec comme ServerName : testsite.local (N'utilisez pas .dev comme tld, certains navigateurs — Chrome par exemple — se sont appropriés ce tld.)
Par contre si je rajoute le '.local', j'ai un message d'erreur :
Impossible d'afficher cette page
La résolution d'un nom d'hôte (recherche DNS) pour ce nom d'hôte ( siteTest.local ) a échoué. L'adresse Internet est peut-être mal orthographiée ou obsolète, l'hôte ( siteTest.local ) est peut-être temporairement indisponible ou le serveur DNS ne répond peut-être pas.
Veuillez vérifier l'orthographe de l'adresse Internet saisie. Si elle est correcte, essayez cette requête plus tard.
Mais sur Internet Explorer, aucun soucis ça marche bien.