Je simple cmd.php la page pour exécuter des commandes à l'aide que j'ENTRER shell_exec() et montrer la sortie.PHP - Appel fichier .php de la ligne de commande ne produit pas de sortie
- PHP est en cours d'exécution en tant que CGI
- Saisie "php -v" et la plupart des commandes juste montrer "Content-Type: text/html", puis la source HTML de la page en cours.
Toutefois, l'appel PHP avec un paramètre non valide (/usr/bin/php -Z) montre l'utilisation phps:
Utilisation: php [-q] [-h] [-s] [-v ] [-i] [-f] [php args ...]
etc ...
J'attaché quelques images pour montrer ce que je veux dire.
PHP -v ne produit pas attendu la sortie
PHP -Z montre l'utilisation de PHP
Toutes les idées?
Modifier
cmd.php
<?php
if (isset ($_POST['submit'])) :
$response = shell_exec (escapeshellcmd (stripslashes ($_POST['cmd'])));
endif;
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<style type="text/css">
pre#response { border: 1px solid #e0e0e0; padding: .5em; }
</style>
<title>Command</title>
</head>
<body>
<form action="cmd.php" method="post">
<p><input type="text" name="cmd" id="cmd" value="<?php echo @htmlspecialchars (stripslashes ($_POST['cmd'])); ?>" size="50" />
<button type="submit" name="submit" id="submit" value="Submit">Submit</button>
</p>
</form>
<?php
if (isset ($response)) :
?>
<pre id="response"><?php
if (empty ($response)) :
echo 'No response.';
else :
echo htmlspecialchars ($response);
endif;
?></pre>
<?php
endif;
?>
</body>
</html>
Quelle est la sortie attendue? Pouvons-nous avoir un aperçu de ** cmd.php **? – Anax
Il devrait montrer le numéro de version ... J'ai posté le code source. –
Est-ce que votre FCGI ou CGI s'exécute dans un chroot via un script wrapper? – Borealid