Gaurav Kandoria
Gaurav Kandoria

Reputation: 35

PHP file not gettinig executed as expected

I created a php file as shown below.

    <?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>";
    ?>

Now, the matter is that
when i am running this file on terminal using command

php file.php

the 'ls' command is getting executed and 'redshift -O 4600' also getting executed.
But when i am executing this file on browser using url.

127.0.0.1/file.php

Only 'ls' command is getting executed. 'redshift -O 4600' is not getting executed. Is there some way through which i can execute such programs. I have also tried other functions like exec etc.

Upvotes: 2

Views: 166

Answers (1)

Sourav Sahoo
Sourav Sahoo

Reputation: 21

It would not work as you are setting up your server at /var/www/html location which is used by public to access your computer through localhost. And since in localhost there is no such thing as redshift so it would run nothing and the operation would be executed and you will see no after effects. So, to run the system's command on localhost, you must run the server on any folder other than /var/www/html. So, to run the server on any other location, just go to that location and run php -S localhost:8080.

Upvotes: 2

Related Questions