1. Questions and Reasons
The PHP homepage on the Raspberry Pi could not run the root command or script reason, not PHP cannot execute, but Apache 's permissions are not enough!!!!
2. PHP run shell script or Python method
PHP provides us with the three functions of system (), exec (), PassThru () to invoke external commands.
Although these three commands are capable of executing the shell commands of the Linux system, they are actually different:
System () outputs and returns the last line of the shell results.
EXEC () does not output results, returns the last line of the shell result, and all results can be saved to a returned array.
PassThru () only invokes the command and outputs the result of the command directly to the standard output device.
Same point: All can get status code of command execution
Example: System ("/usr/local/bin/webalizer/webalizer");
3. PHP executes root command or script via sudo
1) Open the sudo command for Apache user permissions.
To modify the permissions control file for sudo/etc/sudoers file, the Raspberry Pi uses the following command:
sudo nano/etc/sudoers or you can also edit the/etc/sudoers file by using the following command: sudo visudo
Add the following line: Open all permissions for this user
Www-data all= (All) nopasswd:all# my Apache user is Www-data
or nobody all= (All) nopasswd:all# if your Apache user is the default, then the user is nobody
You can also add the following to open a command's permissions:
Nobody all= (All) nopasswd:/usr/local/Apache/bin/Apachect1 Restart
2) Comment out the defaults requireTTY line in the file, or it will appear
Sudo:sorry,you must has a TTY to run sudo.
3) Save and exit
The above describes the Raspberry Pi php through the root permissions of the program, including the apache,require aspects of the content, I hope to be interested in PHP tutorial friends helpful.