PHP-файл не выполняется должным образом - PullRequest
0 голосов
/ 14 мая 2018

Я создал файл 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' не выполняется. Есть ли способ, с помощью которого я могу выполнять такие программы. Я также пробовал другие функции, такие как exec и т. Д.

1 Ответ

0 голосов
/ 14 мая 2018

Это не будет работать, так как вы настраиваете свой сервер в / var / www / html, который используется public для доступа к вашему компьютеру через localhost. А поскольку в localhost нет такой вещи, как красное смещение, поэтому он ничего не будет выполнять, и операция будет выполнена, и вы не увидите никаких последствий. Итак, чтобы запустить системную команду на локальном хосте, вы должны запустить сервер в любой папке, кроме / var / www / html. Итак, чтобы запустить сервер в любом другом месте, просто перейдите в это место и запустите php -S localhost:8080.

...