是否可以从CodeIgniter控制器中调用shell脚本?

时间:2015-12-11 20:08:56

标签: php shell codeigniter

我编写了一个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);

但是,我有点担心由此产生的安全问题。有什么东西我不见了吗?

1 个答案:

答案 0 :(得分:1)

也许您可以尝试检查执行的输出是什么,以尝试查看正在发生的事情,并检查是否有帮助。 shell_exec

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