2015-08-16 87 views
0

我有一個cgi腳本,它調用另一個python腳本,但通過瀏覽器運行第二個腳本不工作。cgi腳本faild調用另一個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) 

另一種方式來完成,這是導入賽門鐵克腳本,並調用它的主要功能,提供自然地,預期的論據。

+0

錯誤:由於以下錯誤無法生成OpenSSL密鑰:命令'['/ usr/bin/openssl','genrsa','-out','test3.example.com.key','2048']'返回非零退出狀態1現在我面臨上述錯誤,因爲腳本試圖生成一個文件稱爲test3.example.com.key和它無法生成,但如果我們從命令行運行命令,我能夠生成文件 – johny99411

+0

您正在使用哪個版本的腳本?我試着複製這個錯誤,我發現你正在使用HEAD版本不支持的'-b'參數。 –

+0

我剛剛修改HEAD版本的腳本以包含SAN,您可以刪除「-b test3.example.com.com」,甚至我試圖使用HEAD版本面臨相同的錯誤 – johny99411

相關問題