2015-08-16 1 views
0

У меня есть скрипт cgi, и он вызывает другой скрипт python, но при запуске через браузер второй скрипт не работает.cgi script не удалось вызвать другой скрипт python

subprocess.Popen([python, 'symantec.py', '-k', "test3.example.com.com.key", '-c', 
        "test3.example.com.com.csr", '-n', "test3.example.com.com", 
        '-o', "'IT'", '-p', "war.eagle", '-t', "Server", '-s', "F5", 
        '-y', "1", '-f', "test3.example.com.com.crt", '-g', "johny", '-l', 
        "mon", '-e', "[email protected]", '-b', "test3.example.com.com"], 
        shell=True) 

Может кто-нибудь помочь мне идентифицировать?

Путь ко второму сценарию symantec.py
https://github.com/ericjmcalvin/verisign_purchase_ssl_certificate

+1

Что находится в переменной '' 'python'''? Какая у вас ошибка? (Кроме этого, вы должны установить '' 'shell = False''', если вы используете список аргументов, а не строку) – tmrlvi

ответ

0

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

python symantec.py -k test3.example.com.com.key -c test3.example.com.com.csr -n test3.example.com.com -o 'IT' -p war.eagle -t Server -s F5 -y 1 -f test3.example.com.com.crt -g johny -l mon -e [email protected] -b test3.example.com.com` 

Сценарий ожидает абсолютные пути в качестве аргументов для -k и -c аргументов. Помощь указывает:

-h, --help show this help message and exit

-k KEY_FILE, --key-file=KEY_FILE Full location to save key file. REQUIRED.

После того, как вы убедились, что она работает, вызовите его из сценария:

command = "python symantec.py -k test3.example.com.com.key -c test3.example.com.com.csr -n test3.example.com.com -o 'IT' -p war.eagle -t Server -s F5 -y 1 -f test3.example.com.com.crt -g johny -l mon -e [email protected] -b test3.example.com.com" 
subprocess.Popen(command.split(), shell=False) 

Другой способ достижения этой цели является импортировать сценарий Symantec и вызвать его основную функцию, обеспечивая , естественно, ожидаемые аргументы.

+0

ОШИБКА: невозможно сгенерировать ключ OpenSSL из-за следующей ошибки: Команда '['/usr/bin/openssl ',' genrsa ',' -out ',' test3.example.com.key ',' 2048 ']' возвратил ненулевой статус выхода 1 теперь я столкнулся с вышеупомянутой ошибкой, потому что сценарий пытается сгенерировать один файл вызванный test3.example.com.key и его невозможно сгенерировать, но если мы запустим команду из командной строки, я могу сгенерировать файл – johny99411

+0

Какую версию скрипта вы используете? Я попытался реплицировать ошибку, я вижу, что вы используете параметр '-b', который не поддерживается версией HEAD. –

+0

Я только что изменил версию HEAD скрипта, чтобы включить SAN, вы можете удалить «-b test3.example.com.com», и даже я попытался использовать версию HEAD с той же ошибкой. – johny99411

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