Я пытаюсь выполнить скрипт оболочки, содержащий команды Python из PHP, используя функцию exec в Ubuntu 18.04.Проблема в том, что скрипт Python не может создать файл для записи данных.
Это мой сценарий оболочки test.sh
python3 p1.py
Это мой скрипт Python
with open('trial.txt','w') as file:
file.write('Hello world')
Это мой PHP-скрипт
<?php
try{
$out=exec('test.sh',$output,$status);
print_r($output);
}
catch(Exception $e)
{
echo $e;
}?>
Я получаю $ status как 1. Есть ли проблемы с разрешениями пользователя apache?Текущий пользователь apache - www-data.Я дал разрешения скрипту Python, используя chmod +x p1.py
.Этот сценарий оболочки работает правильно и создает новый файл, если он запускается из терминала Ubuntu.Но при выполнении из PHP он не работает должным образом.