Cet article présente principalement la méthode de dépannage de la valeur de non-retour de la fonction exec() en PHP. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
Afin de sécuriser imagemagic, vous devez utiliser exec. L'installation a échoué sur de nombreux serveurs
exec() n'a pas réussi à exécuter les commandes externes, mais il n'y a pas eu de message d'erreur.
Exec exécute une certaine commande sans aucun problème sur la ligne de commande, mais une erreur se produit dans php. Ce problème est lié à 99,99% aux autorisations, mais la commande exécutée par exec ne renverra pas d'erreur. Une astuce consiste à utiliser des commandes pipe, en supposant que votre appel exec soit le suivant :
exec('convert a.jpg b.jpg', $output, $return_val);
peut être modifié comme suit :
exec('convert a.jpg b.jpg 2>&1', $output, $return_val); print_r($output);
Utilisez 2>&1, la commande affichera l'erreur pendant exécution du shell vers la variable de sortie $, affichez cette variable à analyser.
Remarques : exec a 3 paramètres, le premier est la commande à exécuter, le deuxième paramètre est un tableau, la valeur du tableau est générée après l'exécution de la première commande, Le état d'exécution du troisième paramètre, 0 signifie succès, les autres signifient échec.
Il existe trois fonctions en php qui peuvent être utilisées pour exécuter des commandes externes système, exec et passthru.
Ce qui précède représente l’intégralité du contenu de cet article, j’espère qu’il sera utile à l’étude de chacun.
Recommandations associées :
PHPExemple d'utilisation de Curl pour simuler la connexion et capturer des données
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!