我编写了一个shell脚本,它将使用LibreOffice将docx文件转换为pdf。这很好。我想要做的是以某种方式从我的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);
但是,我有点担心由此产生的安全问题。有什么东西我不见了吗?
答案 0 :(得分:1)
也许您可以尝试检查执行的输出是什么,以尝试查看正在发生的事情,并检查是否有帮助。 shell_exec
<?php
$output = shell_exec('/usr/local/bin/convert_to_pdf');
echo "<pre>$output</pre>";