Запустить (удаленный) PHP-скрипт из (локального) Python-скрипта - PullRequest
5 голосов
/ 09 июля 2009

Как заставить Python (локально) запускать скрипт php на удаленном сервере ?

Я не хочу обрабатывать вывод с помощью скрипта Python или чего-либо еще, просто выполнить его и тем временем выйти из Python (в то время как PHP-скрипт уже работает и выполняет свою работу).

редактирование: Чего я пытаюсь достичь:

  • Python-скрипт подключается к FTP-серверу и загружает PHP-скрипт (у меня уже есть эта часть кода)
  • он запускает скрипт php (это часть кода, о котором я спрашиваю)
  • Python-скрипт продолжает делать что-то еще
  • Сценарий Python завершается (но, вероятно, PHP-скрипт все еще не завершил свою работу, поэтому я не хочу, чтобы он заканчивался при выходе из Python)
  • Python-скрипт завершен, php-скрипт все еще продолжает свою задачу

не планирую что-либо делать с выводом php в python - python просто должен загрузить скрипт php и заставить его начать работать)

Надеюсь, теперь мне понятнее. Извините, если мой вопрос не был достаточно конкретным.

другое редактирование: Также обратите внимание, что у меня нет доступа к оболочке на удаленном сервере. У меня есть только ftp и панель управления (cpanel); пытаясь использовать для этого ftp.

Ответы [ 3 ]

5 голосов
/ 09 июля 2009
os.system("php yourscript.php")

Другая альтернатива будет:

# will return new process' id
os.spawnl(os.P_NOWAIT, "php yourscript.php")

Вы можете проверить всю документацию по модулю os здесь .

4 голосов
/ 09 июля 2009

Если python находится на физическом компьютере, отличном от PHP-скрипта, я бы позаботился о том, чтобы PHP-скрипт был доступен через Интернет, и используйте urllib2 для вызова этого URL

import urllib2

urllib2.urlopen("http://remotehost.com/myscript.php")
0 голосов
/ 09 июля 2009

Я перефразирую ответ на Как включить PHP-скрипт в Python? .

import subprocess

def php(script_path):
    p = subprocess.Popen(['php', script_path] )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...