Получение PHP для запуска скрипта Python

Я пытаюсь запустить программу Python с помощью PHP. Вот код

$command = '/usr/local/bin/python script.py file'; $temp = exec($command, $output); 

Это работает через командную строку, но не во время ее запуска через браузер. Я использую Apache, поэтому, возможно, ему нужны правильные привилегии? Я довольно новичок в Linux и понятия не имею, как это сделать.

  • Как выполнить строку, содержащую код Python в Python?
  • Как разобрать строку, представляющую вложенный список, в фактический список?
  • python 2.7 / exec / что не так?
  • Использование exec и eval в Python
  • В чем разница между запуском скрипта из командной строки и exec () с PHP?
  • Почему закрытие закрывается внутри exec?
  • Любая помощь будет оценена!

    Изменить 1:

    Пытался использовать proc_open но ничего не происходит. Я дал полный путь к скрипту. Сделал скрипт исполняемым, но не повезло. Любые другие вещи, которые я могу попробовать на сервере? (Это CentOS 5)

  • Какие шаблоны я мог бы использовать в коде, чтобы упростить перевод на другой язык программирования?
  • Есть ли функция php, такая как zip python?
  • Как языки сценариев используют сокеты?
  • Компиляция PyPy в Exe
  • php или apache? exec, popen, system и proc_open не выполняют какую-либо команду, даже не ls
  • Каковы преимущества (и недостатки) слабо типизированного языка?
  • 4 Solutions collect form web for “Получение PHP для запуска скрипта Python”

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

    Понял, что случилось:

    1. Домен был настроен как виртуальный хост, и включен режим safe_mode PHP. proc_open, exec, system, passthru и т. д. не работают под safe_mode.

    2. Поместите скрипт в каталог, доступный для vhost. Apache не смог получить доступ к каталогам вне корня документа vhost.

    Спасибо за помощь!

    Несколько контрольно-пропускных пунктов

    • script.py должен пройти полный путь, например, /home/abhinav/script.py
    • script.py должен быть исполняемым, chmod +x script.py

    Чтобы получить помощника CodeIgniter для запуска скрипта python, мне пришлось поставить #! / Usr / bin / python в первую строку моего сценария python и НЕ вызывать python из exec.

    +1 для выполнения chmod + x

    Мой помощник выглядит так:

     <?php function scrape($site, $key, $user_id) { $cmd = str_replace('system/','',BASEPATH).APPPATH."python/spider.py -u $site -k $key -i $user_id"; $resp = exec($cmd, $out); return $out; } ?> 
    Python - лучший язык программирования в мире.