我需要在HTML按钮上编译php代码点击并在浏览器上显示编译输出。我使用以下代码在浏览器上显示输出,它在终端中运行良好但在浏览器上没有任何内容。我我在Windows机器上使用XAMPP服务器。
<?php
if(isset($_POST['compile'])){
$cmd="php php_part.php";
$var=system($cmd);
echo $var;
}
?>
<input type="submit" class="button" name="compile" value="Compile Code" />
答案 0 :(得分:0)
首先,您没有编译php_part.php脚本,而是在运行它。是的我意识到运行php脚本需要先编译它,或者说解释,但该语句将执行php_part.php脚本。
有两个可能的原因导致它无法运行。
从浏览器运行时,即通过Apache,它不知道在哪里找到php.exe
根据php_part.php脚本的保存位置,它可能无法找到。
尝试更改此声明
$cmd="php php_part.php";
到
$cmd="C:/path/to/php/php.exe C:/path/to/script/php_part.php";
如果有效,则上述问题就出现了。
我还要说,必须有更好的方法来运行这个脚本。正如您在PHP代码段中所做的那样,简单的include
或require
不是更好的解决方案。像这样的东西
<?php
if(isset($_POST['compile'])){
require "php php_part.php";
echo $var;
}
?>
当然这取决于你如何编写php_part.php脚本。如果你把它写成一个函数,那么这将是一个更好的解决方案
php_part.php脚本
function xxx() {
// do whatever coding
return $the_result;
}
主要代码
<?php
if(isset($_POST['compile'])){
require "php php_part.php";
$var = xxx();
}
?>