I am trying to execute a shell script containing python commands from PHP using exec function in Ubuntu 18.04. The issue is Python script is not able to create a file for writing data.
This is my shell script test.sh
python3 p1.py
This is my python script
with open('trial.txt','w') as file:
file.write('Hello world')
This is my PHP script
<?php
try{
$out=exec('test.sh',$output,$status);
print_r($output);
}
catch(Exception $e)
{
echo $e;
}?>
I am getting $status as 1. Is there any problem with apache user permissions? Current apache user is www-data. I have given permissions to python script using chmod +x p1.py
. This shell script works correctly and creates a new file if it runs from ubuntu terminal. But when executing from PHP, it doesn't work properly.