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

时间:2015-05-26 10:05:02

标签: php html xampp

我需要在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"  />

1 个答案:

答案 0 :(得分:0)

首先,您没有编译php_part.php脚本,而是在运行它。是的我意识到运行php脚本需要先编译它,或者说解释,但该语句将执行php_part.php脚本。

有两个可能的原因导致它无法运行。

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

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

  3. 尝试更改此声明

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