Можно ли вызвать сценарий оболочки из контроллера CodeIgniter?

1

У меня написан сценарий оболочки, который будет использовать LibreOffice для преобразования файла docx в pdf. Это прекрасно работает. То, что я пытаюсь сделать, - это как-то вызвать этот сценарий оболочки из моего контроллера CodeIgniter, чтобы он запускался каждый раз, когда вызывается контроллер.

В настоящее время я попытался:

Мой сценарий оболочки "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_exec("/usr/local/bin/convert_to_pdf");

Я новичок во всем этом, поэтому я даже не уверен, что это возможно. Я знаю, что сценарий оболочки работает, когда я запускаю его с терминала, но я не могу заставить его использоваться в контроллере. Есть идеи?

Спасибо за помощь раньше времени!

РЕДАКТИРОВАТЬ

Я получил эту работу, используя в контроллере следующее:

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);

Тем не менее, я немного обеспокоен проблемами безопасности, возникающими из-за этого. Есть что-то, чего я не хватает?

Теги:
codeigniter

1 ответ

1

Возможно, вы можете попытаться проверить, какой результат этого выполнения попытается выяснить, что происходит, и проверить, помогает ли это. shell_exec

<?php
$output = shell_exec('/usr/local/bin/convert_to_pdf');
echo "<pre>$output</pre>";
  • 0
    Я попробовал это только сейчас, и ничего не вернулось. Просто теги. Я также гарантировал, что shell_exec включен, так что это не так. Вы знаете, правильно ли я использую shell_exec?
  • 0
    Имеет ли скрипт convert_to_pdf необходимые права доступа? Попробуй 755

Ещё вопросы

Сообщество Overcoder
Наверх
Меню