PHP文件未按预期执行

时间:2018-05-13 21:51:39

标签: php apache web-services server

我创建了一个php文件,如下所示。

    <?php
    $ar = 4600;
    $az = "redshift -O ".$ar;
    echo "Command executed: ";
    echo $az;
    system($az,$status); // It is not working on browser but working on terminal.
    system("ls",$asd); // It is working on both browser and terminal.
    if($status == NULL) {
        echo "<h3>Operation not successful</h3>";
    }
    else 
        echo "<h3>Temperature Succesfully set to ".$ar."</h3>";
    ?>

现在,问题在于 当我使用命令

在终端上运行此文件时
php file.php

&#39; ls&#39;命令正在执行并且&#39; redshift -O 4600&#39;也被执行了 但是当我使用url在浏览器上执行此文件时。

127.0.0.1/file.php

只有&#39; ls&#39;命令正在执行。 &#39; redshift -O 4600&#39;没有被执行。有没有办法让我可以执行这样的程序。 我也尝试了其他功能,如exec等。

1 个答案:

答案 0 :(得分:2)

当您在/ var / www / html位置设置服务器时,它将无法正常工作,公共用户通过localhost访问您的计算机。因为在localhost中没有redshift这样的东西所以它什么都不会运行,操作会被执行,你将看不到后续效果。因此,要在localhost上运行系统命令,必须在/ var / www / html以外的任何文件夹上运行服务器。因此,要在任何其他位置运行服务器,只需转到该位置并运行即可 php -S localhost:8080