我创建了一个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
">ls"命令正在执行,"redshift -O 4600"也被执行。
但是当我使用 url 在浏览器上执行此文件时。
127.0.0.1/file.php
只有"ls"命令被执行。"红移-O 4600"未执行。有没有办法让我执行这样的程序。 我还尝试了其他功能,如执行等。
它不起作用,因为您将服务器设置在/var/www/html 位置,该位置被公众用来通过本地主机访问您的计算机。而且由于在本地主机中没有红移这样的东西,所以它不会运行任何内容,并且操作将被执行,并且您不会看到任何后遗症。因此,要在 localhost 上运行系统的命令,您必须在/var/www/html 以外的任何文件夹上运行服务器。因此,要在任何其他位置运行服务器,只需转到该位置并运行php -S localhost:8080
.