Depuis aujourd'hui une fonction qui marchait encore ce matin ne fonctionne plus :
Erreur " Uncaught ImagickException: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/413 "
Il s'agit d'un script tout bête qui génère la vignette d'un pdf.
function genPdfThumbnail($source, $target) { //$source = realpath($source); $target = dirname($source).DIRECTORY_SEPARATOR.$target; $im = new Imagick($source."[1]"); // 0-first page, 1-second page $im->setImageColorspace(255); // prevent image colors from inverting $im->setimageformat("jpeg"); $im->thumbnailimage(160, 120); // width and height $im->writeimage($target); $im->clear(); $im->destroy(); } genPdfThumbnail('test.pdf','test.jpg');
Ceci sur un mutualisé, cluster100, PHP 8.5, 2212. Imagemagick est actif, j'ai vérifié le phpinfo(). J'ai aussi essayé avec PHP 7.4, et PHP 8.4 stables production.
Toujours cette erreur, avec génération d'un fichier à 0o.
Là où ça devient bizarre :
J'ai fait un essai sur un autre de mes sites, PHP 5.6, cluster128, filer 942. Là ça fonctionne.
Bien sur à chaque fois j'ai les mêmes fichiers test.php et test.pdf, mis au même endroit : www
Une idée de la façon de résoudre ? D'autres essais à tenter ?...
A mon avis c'est une sécurité supplémentaire qui a été implémenté sur ton cluster (ce paramètre serveur se trouve dans /etc/ImageMagick-VERSION).
Le fait qu'un autre cluster n'ai pas le même comportement peut être normal (déploiement progressif après retours) ou alors c'est une question de version PHP.
Tu devrais faire un ticket et mettre son n° ici. Autre solution, trouver une solution externe (api saas) qui fait ça.
Mais si OVH déploie de nouvelles mesures de sécurité, va savoir s'ils vont vouloir faire des exceptions... Ou c'est par défaut, et ils débloquent à la demande ?...