2017-04-06 45 views
-1

需要幫助:如何在PHP腳本中使用mono?

從終端我的命令工作正常。 命令:

mono Release/X12Parser.exe Release/EDI_FILES/first_edi.edi Release/XML_FILES/first_XML.xml 

從PHP腳本它不是CentOS的工作服務器 命令:

echo shell_exec('whoami');  
shell_exec('mono Release/X12Parser.exe Release/EDI_FILES/fisrt_edi.edi Release/XML_FILES/dicentral850_7RRR_XML.xml'); 

的輸出:回聲了shell_exec( 'WHOAMI'); www數據(用戶名)

在服務器:

局部

icydea5(用戶名)

而它的工作在我的本地設置與Ubuntu OS罰款。

這是一個許可問題嗎?

+0

看看你的http服務器錯誤日誌文件。您的'PATH'環境變量可能存在一些問題,您可能想嘗試使用'mono'可執行文件的絕對路徑。或者,也許系統調用被該「服務器」上的配置阻止。 – arkascha

+0

每當我使用 shell_exec('mono -V');它顯示了版本的詳細信息。 但是shell_exec('mono Release/X12Parser.exe Release/EDI_FILES/fisrt_edi.edi Release/XML_FILES/dicentral850_7RRR_XML.xml');不工作 –

+0

那麼這兩個系統上的設置有什麼區別?我對'mono'自己沒有經驗,但是肯定它會產生一些錯誤輸出以防萬一失敗?那是什麼? – arkascha

回答

0

最後它解決

步驟:

  1. 生成文件目錄設置權限: 'XML_FILES'

    chcon這個-r -t httpd_sys_rw_content_t XML_FILES

  2. 查找單路徑命令

    該單聲道

  3. 組單路徑

    了shell_exec( '/選擇/單聲道/ bin中/單聲道推出/ X12Parser.exe推出/ EDI_FILES/first_edi.edi推出/ XML_FILES/first_XML.xml');