La solution pour que php exec ne renvoie pas de valeur : recherchez d'abord le code appelant exec ; puis modifiez l'instruction en "exec('convert a.jpg b.jpg 2>&1', $output, $return_val) ;" c'est Can.
L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur DELL G3
Que dois-je faire si l'exécutable php le fait ne renvoie pas de valeur ?
Méthode de dépannage pour la fonction exec() de PHP ne renvoyant pas de valeur
Exec doit être utilisé pour sécuriser imagemagic et l'installation échoue sur de nombreux serveurs
exec() échoue exécuter des commandes externes Mais il n'y a pas de message d'erreur.
Il n'y a aucun problème lorsque exec exécute une certaine commande sur la ligne de commande, mais une erreur se produit en 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 une commande de pipeline. Supposons 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);
En utilisant 2>&1, la commande affichera l'erreur pendant le shell. exécution sur la variable $output, affiche cette variable à analyser.
Remarque : 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. , l'état d'exécution du troisième paramètre, 0 indique le succès, les autres indiquent l'échec.
Il existe trois fonctions en php qui peuvent être utilisées pour exécuter des commandes externes système, exec, passthru
Apprentissage recommandé : "Tutoriel vidéo PHP"
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!