I have a project PHP in my droplet LEMP 16.04 with script python, when I run in terminal is ok, but when I run in the browser don’t execute the script.


$vehicleJSON = shell_exec('python vehiclepy.py ' . $plate);

I’ve already tried:

  1. change to $vehicleJSON = shell_exec(‘python vehiclepy.py ’ . $plate . ’ 2>&1’);
  2. change to $vehicleJSON = shell_exec('usr/bin/python /var/www/myapp/vehiclepy.py ’ . $plate);
  3. add in sudoers www-data NOPASSWD: /var/www/myapp but don’t execute.

Please help me kkkkk, thanks!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

2 answers

First off, be careful running shell_exec like this, If the user can change ** $plate** they would be free to run any command they like.

You may find if you can’t execute it when running via HTTP it may be a blocked function.


Do you have anything in your error logs?

I did it! I change the function to system().

Submit an Answer