Shutting down Raspberry Pi with PHP

General Tech Bugs & Fixes 2 years ago

0 2 0 0 0 tuteeHUB earn credit +10 pts

5 Star Rating 1 Rating

Posted on 16 Aug 2022, this text provides information on Bugs & Fixes related to General Tech. Please note that while accuracy is prioritized, the data presented might not be entirely correct or up-to-date. This information is offered for general knowledge and informational purposes only, and should not be considered as a substitute for professional advice.

Take Quiz To Earn Credits!

Turn Your Knowledge into Earnings.

tuteehub_quiz

Answers (2)

Post Answer
profilepic.png
manpreet Tuteehub forum best answer Best Answer 2 years ago

 

I built this dashboard for my Raspberry Pi and would like to be able to shut it down and reboot it with a click.

I have the following in my html which redirects to a script and gets a PHP page with ajax:

 href="#" class="reboot">
 

and the php file reboot.php looks like this:

php
   exec('sudo reboot');
?>

But this is doing nothing, it's not rebooting or shutting down using this code.

profilepic.png
manpreet 2 years ago

But this is doing nothing, it's not rebooting or shutting down using this code.

If you are using apache, it runs as its own user and does not have permission to run reboot with sudo. To do that, you have to edit /etc/sudoers (as root) and add a line:

apache ALL = NOPASSWD: /sbin/reboot, /sbin/halt

That's presuming the user name is apache -- I'm not sure what it actually is since I don't have it installed on the pi. To check, try in order:

grep apache /etc/passwd
grep httpd /etc/passwd
grep www-data /etc/passwd

The first one of those that returns a line is the name you should use. Alternately, you could just look at top while the server is running and find the user name. There is one instance of apache/httpd that runs root, but there are others that are unprivileged and those execute PHP.


0 views   0 shares

No matter what stage you're at in your education or career, TuteeHub will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.