вызов cgi / py в PHP с параметрами - PullRequest
3 голосов
/ 14 февраля 2011

Я пытаюсь выполнить скрипт cgi / python из php и одновременно передать скрипту cgi / python параметр.

в моем php у меня есть

<? echo exec('/var/www/cgi-bin/test.cgi ' + $_POST["var"]); ?>

Однако это не работает, и в журнале apache написано 'sh: 0 not Found'

Этот тестовый скрипт очень прост:

#!/usr/bin/python
import cgi, sys, os

for arg in sys.argv:
    print arg

1 Ответ

2 голосов
/ 15 февраля 2011

Как кто-то указал, оператор конкатенации строк в PHP равен ., а не +.

Результат «добавления» нечисловых строк равен 0. Поэтому оболочка пытается выполнить команду «0» и возвращает ошибку: «sh: 0 not found».

Попробуйте это:

exec('/var/www/cgi-bin/test.cgi ' . escapeshellcmd($_POST["var"]));

Также обратите внимание, что аргументы команд оболочки следует экранировать с помощью escapeshellcmd .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...