我有這個功能來讀取在Linux上使用蒂卡一個doc文件:無法從CGI運行java命令
def read_doc(doc_path):
output_path=doc_path+'.txt'
java_path='/home/jdk1.7.0_17/jre/bin/'
environ = os.environ.copy()
environ['JAVA_HOME'] =java_path
environ['PATH'] =java_path
tika_path=java_path+'tika-app-1.3.jar'
shell_command='java -jar %s --text --encoding=utf-8 "%s" >"%s"'%(tika_path,doc_path,output_path)
proc=subprocess.Popen(shell_command,shell=True, env=environ,cwd=java_path)
proc.wait()
此功能工作正常,當我在命令行中運行它,但是當我打電話同功能使用CGI,我得到以下錯誤:
Error occurred during initialization of VM Could not reserve enough space for object heap
我檢查了以前的答案對於此特定錯誤,他們建議增加內存,但是這似乎並沒有工作...我不認爲這有與內存分配有關,而是來自cgi腳本的一些讀/寫/執行權限,任何想法ho w解決這個問題?
難道你不會更好地運行Tika服務器,所以只有一個啓動成本,並用python將數據傳輸到Tika進行處理? – Gagravarr 2013-04-27 18:49:30
謝謝,看起來像一個好主意,我設法運行服務器,但不知道實際使用它... – hmghaly 2013-04-28 12:38:08
這是記錄,以及例子,在[Tika Wiki](http://wiki.apache。 org/tika/TikaJAXRS) – Gagravarr 2013-04-28 18:04:43