Maison >développement back-end >tutoriel php >Pourquoi ma fonction exec() échoue-t-elle, même après avoir désactivé le mode sans échec et vérifié les autorisations ?
Malgré les efforts visant à désactiver le mode sans échec, assurez-vous que la fonctionnalité des commandes de la console est correcte et testez avec des chemins explicites , la commande exec() ne parvient pas à s'exécuter sur un serveur. Les tentatives de dépannage ont échoué, ce qui justifie une enquête plus approfondie.
Pour résoudre ce problème, considérez ce qui suit :
Inspectez le fichier /etc/php.ini et assurez-vous que exec n'est pas présent dans le directive désactiver_fonctions. Si tel est le cas, supprimez-le et redémarrez Apache.
Pour une journalisation des erreurs plus complète, ajoutez l'en-tête suivant au fichier début du fichier PHP :
#!/usr/bin/php ini_set("display_errors", 1); ini_set("track_errors", 1); ini_set("html_errors", 1); error_reporting(E_ALL);
Exécutez le fichier PHP manuellement à l'aide de la ligne de commande :
./myscript.php
Cela permet un rapport d'erreurs plus détaillé.
Assurez-vous que le fichier vous essayez d'exécuter et le dossier contenant dispose des autorisations suffisantes. Pensez à utiliser chmod 755 comme test.
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!