如何在浏览器上显示php代码的编译输出


How to display compilation output of php code on browser

我需要在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脚本。

没有运行可能有两个原因。

  1. 当从浏览器运行时,即通过Apache,它不知道在哪里找到php.exe

  2. 根据php_part.php脚本保存的位置,它可能也无法找到

尝试修改语句

$cmd="php php_part.php";

$cmd="C:/path/to/php/php.exe C:/path/to/script/php_part.php";

如果可以,那么问题就出在上面。

我还必须说,必须有一个更好的方式来运行这个脚本。因为你是在PHP段的代码不会一个简单的includerequire不是一个更好的解决方案。像这样

<?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();
     }
?>