Как запустить файл.py с помощью php?

Сценарий такой
Человек переходит по ссылке .../script.php
этот скрипт запускает скрипт на питоне (+ джанго) который создает нового пользователя
User.objects.create(user=name, id_user=123, token="token")

Но почему-то, скрипт стопориться именно на создании пользователя
В чем может быть проблемма?
$retval = '';
$result = shell_exec('python3 /home/django/manage.py test --pythonpath ' . $_GET['name'] . '_' . $_GET['token']);
print $result;
  • Вопрос задан
  • 260 просмотров
Решения вопроса 1
ilyabugaets
@ilyabugaets Автор вопроса
Все оказалось проще
У www-data не было прав на запись в бд
Решение: выдать доступ к корневой папке проекта и db.sqlite3 для www-data
Написано только что
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
gzhegow
@gzhegow
aka "ОбнимиБизнесмена"
Попробуйте proc_open() вместо shell_exec(), и не забывайте прокидывать в него $env и $cwd. У вас хоть поток stderr будет, откуда можно почитать что там сломалось.

Посмотрите, как реализовано, но я там пока с логгерами натупил, выключить нельзя, так что скопируйте код.
https://github.com/6562680/support/blob/main/src/X...
https://github.com/6562680/support/blob/main/src/X...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы