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