Правильный путь для запуска скрипта Python с php из папки cgi-bin - PullRequest
0 голосов
/ 22 июня 2011

Я хочу запустить скрипт python 'test.py' из моего каталога cgi-bin на моем веб-сервере. каталог cgi-bin находится по адресу «www / cgi-bin /». Скрипт Python находится в этом каталоге. Код php, который я выполняю, находится по адресу www / html / website / index.php.

какой правильный путь идет сюда ------> exec ('path');

TYVM

редактирование: Мой скрипт на python был chmod + x'd и является исполняемым (я проверял)

Ответы [ 2 ]

0 голосов
/ 22 июня 2011

Ваш PHP-код выполняется в каталоге www/html/website/. Вам нужно пройти вверх по двум каталогам (поступающим в каталог www/), а затем перейти в подкаталог cgi-bin/. Так что это должно работать:

exec('../../cgi-bin/test.py');

Обратите внимание, что это зависит от того, является ли текущий рабочий каталог каталогом скриптов PHP. Это может не всегда иметь место, особенно если что-то в скрипте PHP явно изменяет текущий рабочий каталог или просто если этот скрипт PHP включен из другого скрипта. Поэтому лучше использовать абсолютные пути (например, поместить абсолютный путь к базовому каталогу в файл конфигурации).

0 голосов
/ 22 июня 2011

Предполагая, что скрипт PHP находится в том же каталоге, что и каталог "www".

<?
    exec('./www/cgi-bin/test.py'); 
?>

или без chmoding, вы можете запустить его через Python

<?
    exec('python ./www/cgi-bin/test.py'); 
?>
...