2016-03-13 1 views
3

Я работаю над программой, которая использует скрипты Python, которые извлекают информацию из базы данных MySQL. База данных MySQL управляется с интерфейса PHP-сайта (так что HTML-формы и кнопки и т. Д.). У меня все это настроено на малиновый пи, и это работает. Но я хочу добавить еще некоторые функции.Выполнение скрипта python с сайта PHP - мне нужен Django? Можно ли это сделать на малиновом пи?

В частности, я хочу иметь возможность выполнить некоторые скрипты python с сайта PHP. Я хочу, чтобы это было так просто, как нажатие кнопки, буквально.

Это сценарий, в котором я должен использовать Django? Я никогда не использовал его раньше, но прочитал о том, как он соединяет Python с сетью. Я нашел ответ на аналогичный вопрос, но мне интересно. Если мне нужно настроить что-либо особенное на моем сервере apache: https://stackoverflow.com/a/31811462/5609876

Я даже сделал маленькую картинку для визуального представления моей программы, поскольку мое объяснение не было достаточно хорошо:

enter image description here

ответ

3

Нет, вам не нужно Джанго вообще.

Если все, что вам нужно сделать, это выполнить скрипт Python из PHP - если вы уже написали сценарий и хранить его где-нибудь:

Во-первых, назначить разрешения на выполнение сценария Python для пользователя, на котором работает PHP-код. Обычно это тот же пользователь, который запускает Apache. Обычно это называется www-data или apache или что-то подобное. Пользователь будет указан в файле конфигурации Apache.

Затем на РНР стороне, все, что вам действительно нужно exec:

<?php 

    exec('/path/to/python /path/to/your/script.py') 

?> 
+0

Как предоставить пользователю права на выполнение сценариев Python? –

+0

['chmod u + x /the/path/to/script.py'](http://linux.die.net/man/1/chmod) –

+0

Отлично! Большое спасибо :) –

1

Если функция shell_exec разрешена на сервере, вы можете использовать, чтобы запустить сценарий Python с помощью Bash. shell_exec возвращает выход вызова bash. Единственное, что вам нужно сделать, это то, что shell_exec не отключен в файле php.ini вашего сервера (найдите строку disable_functions shell_exec).

Если ваш питон скрипт называется mypythonscript.py и находится в том же каталоге, что и файл PHP, вы можете запустить его так:

<? shell_exec('python mypythonscript.py'); ?> 
+0

Могу ли я отправлять команды Баш из PHP? –

+0

Прости, да. Я просто добавил пример использования этой команды. –

 Смежные вопросы

  • Нет связанных вопросов^_^