&1', $output, $return_val) ;" ."/> &1', $output, $return_val) ;" .">
Maison >développement back-end >Problème PHP >Que dois-je faire si l'exécutable php ne parvient pas à obtenir la valeur ?
Solution au problème selon lequel php exec ne peut pas obtenir la valeur : 1. Ouvrez le fichier de code PHP correspondant ; 2. Modifiez le code en "exec('convert a.jpg b.jpg 2>&1', $output, $return_val );" C'est ça.
L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.4, ordinateur Dell G3.
Que dois-je faire si l'exécutable php ne parvient pas à obtenir la valeur ?
Méthode de dépannage pour la fonction exec() de PHP ne renvoyant pas de valeur :
Dans la sécurité d'imagemagic, exec doit être utilisé et l'installation échoue sur de nombreux serveurs
exec() ne parvient pas à exécuter des commandes externes, mais là. 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 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);
Utilisez 2>&1, la commande affichera l'erreur lors de l'exécution du shell dans la variable $output, et afficher la 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. 0 indique un succès, d'autres indiquent un échec.
Il existe trois fonctions en php qui peuvent être utilisées pour exécuter des commandes externes système, exec et 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!