J'essaie d'accéder à la page de chargement, puis d'exécuter le script powershell. Mais malheureusement, je ne peux pas faire fonctionner ça. Quand je vais à la page, il va automatiquement au script et me redirige vers le succès de la page d'échec. J'ai essayé de faire un sommeil après la redirection mais il attend juste quelques secondes, puis exécute le script et me redirige vers la page html.Rediriger puis exécuter
header('Location: /loading.html');
include ("file\where\the\variable\comes\from.php");
$s = shell_exec("powershell path\\to\\script.ps1 '$variable'< NUL");
if (strpos($s, 'True') === false) {
header('Location: /succes.html');
}
else{
header('Location: /failed.html');
}
Vous êtes absent 'exit();'. Votre script est en train de mourir à votre premier 'header()' car il sent le besoin de rediriger mais ne peut pas continuer à cause d'une fin inconnue. Vous 'include()' ou 'require_once()' votre page de chargement, puis ajoutez 'exit();' après chaque méthode 'header()'. [Voir comment cela devrait être ici] (https://3v4l.org/sh7J3) – KDOT
Pourquoi utilisez-vous une redirection d'abord et seulement après la redirection vous êtes appelé dans le script shell? Pour autant que je sache, ce qui se passe ici est: 1. Le serveur envoie l'en-tête de redirection au navigateur. (première ligne dans votre code) 2. Le navigateur demande le chargement.html 3. Le serveur envoie le fichier loading.html au navigateur Le reste du script ne sera pas exécuté. – Dragos