2015-12-11 52 views
1

我有一個編寫的shell腳本,它將使用LibreOffice將docx文件轉換爲pdf。這工作正常。我所要做的就是以某種方式從我的CodeIgniter控制器中調用這個shell腳本,以便每次調用控制器時都會運行它。是否可以從CodeIgniter控制器中調用shell腳本?

目前,我曾嘗試:

我的shell腳本 「convert_to_pdf」:

cd /applications/libreoffice.app/contents/macos 
./soffice --headless --convert-to pdf --outdir /applications/mamp/htdocs/convert /applications/mamp/htdocs/convert/testDoc.docx 

我控制器包含這個,我試圖用它來運行shell腳本:

shell_exec("/usr/local/bin/convert_to_pdf"); 

我對這一切都很陌生,所以我甚至不確定這是可能的。我知道shell腳本在從終端運行時工作,但我無法在控制器中使用它。有任何想法嗎?

感謝您提前幫忙!

編輯

我沒有用得到這個工作在我的控制器如下:

exec('cd /applications/libreoffice.app/contents/macos/ && ./soffice --headless --convert-to pdf --outdir /applications/mamp/htdocs/convert /applications/mamp/htdocs/convert/testDoc.docx', $output, $return); 

不過,我有點擔心由此引發的安全問題。有什麼我失蹤了嗎?

回答

1

也許您可以嘗試檢查該執行的輸出以查看發生了什麼,並檢查是否有幫助。 shell_exec

<?php 
$output = shell_exec('/usr/local/bin/convert_to_pdf'); 
echo "<pre>$output</pre>"; 
+0

我剛剛嘗試過,沒有任何返回。只是標籤。我還確保shell_exec已啓用,所以不是這樣。你知道我是否正確使用shell_exec? – jldavis76

+0

'convert_to_pdf'腳本是否擁有正確的權限?試試755 –

相關問題