Как запустить Python из PHP с помощью ksweb app на Android?

#php #python #localhost #exec #shell-exec

#php #python #localhost #exec #оболочка-exec

Вопрос:

Я запускаю PHP, MySQL с помощью ksweb app на моем телефоне Android (у меня нет ПК) с помощью lighttpd, nginx или сервера apache. Я хочу запустить Python с локального хостинга, используя PHP exec или функцию shell_exec. Я уже пробовал приведенный ниже скрипт:

test.php файл:

     if(function_exists('exec')) {
        echo "exec is enabled<br /><br />";
    }

    $response = exec("python test.py"); // and with shell_exec
//  $response = exec("python /sdcard/Python/test.py"); // also tried this and with shell_exec
//  $response = exec("/usr/bin/python3 /sdcard/Python/test.py"); // also tried this and with shell_exec
//  $response = exec("/usr/bin/python /sdcard/Python/test.py"); // also this one and with shell_exec

    var_dump($response);
?>
  

test.py файл, подобный:

 #!/usr/bin/python3

print("Hello World!");
  

Если я запущу test.php каждый раз, когда он отображается:

 exec is enabled

 NULL
  

Но если я запущу localhost с помощью termux (например: $php -S 127.0.0.1:8080 -t /sdcard/Python/ ) и протестирую еще раз test.php с локального хостинга (http://localhost:8080/test.php ) тогда он хорошо работает и отображается "Hello World!" . Также работает, если я запускаю test.py из приложения SL4A.

Наконец, я понимаю, что у termux есть Python (в папке /data/ data/com.termux/files/ usr / bin). Но у ksweb этого нет. Из-за этого я не могу выполнить Python из PHP.

Итак, мой вопрос:

  1. Я могу установить Python в папку / sdcard / Python или в папку /data / data /com.ksweb с помощью termux или другим способом? Как я могу это сделать?
  2. или как я могу использовать exec / shell_exec из ksweb localhost с PHP?
  3. или есть какой-либо способ перенести или связать sl4a с localhost для запуска Python с PHP?

Я думаю, вы понимаете мою проблему. Пожалуйста, помогите мне.

Спасибо.

Комментарии:

1. Дайте (1) попробовать. Я думаю, у Termux должна быть cp команда. В вашей среде ksweb может не быть python пути. Если вы можете найти допустимый путь, вы должны вызвать его по абсолютному пути.

2. Что вы подразумеваете под допустимым путем ? спасибо за ваш комментарий.