我需要在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" />
首先您不是在编译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();
}
?>