Configurar apache para ejecutar unoconv
Fichero script: libreofficeconverter.sh
Fichero script: libreofficeconverter.sh
#!/bin/bash
if [ -z "$1" ]; then
echo "Must pass source file to convert to pdf";
exit 10;
fi
# This assumes your unoconv executable is located at /usr/bin/unoconv
# If that's not true try a `which unoconv` to get the path and update
# the path below to your path
/usr/bin/unoconv -f pdf --output $1 $2
chown www-data $1
chgrp www-data $1
Como root ejecutaremos el comanbdo
visudo
Al final del archivo añadimos nuestro script para que apache pueda ejecutarlo
# Script que queremos ejecutar desde apache
www-data ALL=NOPASSWD: /ruta/al/script/libreofficeconverter.sh
Guardamos los cambios
y el script en php:
y el script en php:
$fichero_origen = "/ruita/del/archivo/a/convertir/fichero.odt"; $fichero_salida = "/ruta/destino/donde/queremos/generar/el/archivo/resultado.pdf"; shell_exec('sudo
/ruta/al/script
/libreofficeconverter.sh ' . $fichero_salida .' '.$fichero_origen);
Ten en cuenta que le pasamos dos variables al script $1 y S2 que son el origen y el destino
y con esto ya tenemos el problema solucionado