У меня есть программа на Python, которая отлично работает. Когда я запускаю его через терминал, я получаю желаемый результат. Но сейчас я пытаюсь выполнить его через скрипт PHP и получаю сообщение об ошибке импорта.
После некоторых исследований я отредактировал свой код на Python, добавив строку
print (sys.path)
Вывод был другим при запуске терминалом и скриптом PHP. Затем я добавил строку
sys.path.insert(0,path)
чтобы добавить отсутствующий путь во время выполнения PHP, но это не решило проблему (хотя я вижу путь в списке при печати sys.path
).
Я также пробовал варианты как os.environ['PATH'] += ':'+path
. Но это тоже не сработало.
Это мой PHP-код, который не работает:
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
exec('/usr/bin/python3 /var/teste.py 2>&1', $out);
print_r($out);
?>
Но когда я набираю:
python3 /var/teste.py
на терминале, все работает. Когда я выполняю скрипт PHP, у меня появляется следующее сообщение:
import mysql.connector [3] => ModuleNotFoundError: No module named 'mysql'.