Lors de la prise de captures d'écran du site Web, j'ai utilisé CutyCapt, un outil sur le serveur. Vous pouvez utiliser directement les commandes sur le serveur pour capturer et générer des images de l'URL spécifiée. Cependant, lorsque vous utilisez php pour exécuter des commandes système, il s'avère qu'il ne peut pas être exécuté, mais les commandes avec des informations d'aide telles que CutyCapt ("/usr/local/cutycapt/CutyCapt/xvfb-run.sh --help") peuvent être exécuté, mais l'appel d'exécution variable système a échoué. J'ai soupçonné qu'il s'agissait d'un problème d'autorisations. J'ai ensuite défini les autorisations CutyCapt sur www, mais j'ai constaté que cela ne fonctionnait pas. Après avoir recherché des informations, j'ai découvert que le serveur nginx appellerait un script shell lors de l'exécution de la commande, puis. rencontrer des problèmes d’autorisation.
Cet article présente principalement la méthode deUtilisez php pour exécuter des commandes en utilisant exec
PS Par défaut, l'exécutableexec('xvfb-run --server-args="-screen 0, 1024x768x24" CutyCapt --url=http://www.jb51.net --out=2.jpg');
photo n'a que. le premier écran, donc je recadre l'image
yum install ImageMagick
Utilise convert -crop pour le recadrage
convert -crop 1024x768+0+0 2.jpg 22.jpg
Utilisez convert -resize pour la mise à l'échelle de l'image
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!