Uruchamianie pliku .PY z poziomu skryptu PHP

0

Witam serdecznie.

Mam taki skrypt PHP:


ini_set('display_errors', 1);
ob_start();
passthru('/usr/bin/python3 /home/domains/mydomain.pl/public_html/a.py /home/domains/mydomain.pl/public_html/code2.txt');
$output = ob_get_clean(); 
echo $output;


$message = exec("/usr/bin/python3 /home/domains/mydomain.pl/public_html/a.py /home/domains/mydomain.pl/public_html/code2.txt");
print_r($message);

$command = shell_exec('python3 /home/domains/mydomain.pl/public_html/a.py /home/domains/mydomain.pl/public_html/code2.txt');
echo $command;

$output=shell_exec('python3 /home/domains/mydomain.pl/public_html/a.py /home/domains/mydomain.pl/public_html/code2.txt');
echo "<pre>$output</pre>";


$command = escapeshellcmd('python3 /home/domains/mydomain.pl/public_html/a.py /home/domains/mydomain.pl/public_html/code2.txt');
$output = shell_exec($command);
echo $output;

exec('sudo -u www-data python3 /home/domains/mydomain.pl/public_html/a.py /home/domains/mydomain.pl/public_html/code2.txt');

system("cd /usr/lib/cgi-bin && sudo python3 /home/domains/mydomain.pl/public_html/a.py /home/domains/mydomain.pl/public_html/code2.txt");


Chciałbym żeby PHP:

  1. uruchomił skrypt a.py
  2. zwrócił wynik jaki wyświetli konsola z a.py i wyświetli go w przeglądarce internetowej.

W tej chwili nic mi się nie wyświetla. Nie mam żadnego komunikatu o błędzie ani ostrzeżenia.

Wie ktoś może co jest źle w powyższym kodzie?

Mój serwer umożliwia uruchamianie skryptów z konsolą

0

Spróbuj tak.

Dodaj na początku:

error_reporting(E_ALL); 
ini_set('display_errors', 1);

z tego co znalazłem to ktoś polecał w necie korzystanie z escapeshellcmd()
**edit **ale nie wiem czy Tobie akurat się przyda ;/

$command = escapeshellcmd('python_script.py');
$output = shell_exec($command);
echo $output;

pamiętaj też żeby nadać odpowiednie uprawnienia dla samych plików

chmod +x myscript.py

1 użytkowników online, w tym zalogowanych: 0, gości: 1