我有一个简单的cmd.php页面来运行命令我输入使用shell_exec()并显示输出。PHP - 从命令行调用.php文件不会产生输出
- PHP 是运行的CGI
- 进入 “PHP -v”,大多数的命令只显示 “内容类型:text/html的”,然后将当前网页的HTML源。
但是,调用PHP带有无效参数(的/ usr/bin中/ PHP的-z)示出了脉动热管的使用:
用法:PHP [-q] [-h] [-s] [-v ] [-i] [-f] PHP [参数...]
等...
我添加了一组图片来说明我的意思。
PHP不会产生预期的输出
PHP -z -v显示PHP的使用
任何想法?
编辑
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>
预期产量是多少?我们可以看看** cmd.php **吗? – Anax 2010-07-12 08:04:13
它应该显示版本号...我发布了源代码。 – 2010-07-12 08:08:28
您的FCGI或CGI是否通过包装脚本在chroot中运行? – Borealid 2010-07-12 08:22:05