Libreoffice源没有找到aws linux

Sye*_*zmi 8 php amazon-ec2 libreoffice laravel php-7.2

我想在我的aws linux服务器上将文件从doc转换为pdf.在我以前的机器上它工作正常,但现在我的新机器出现问题.唯一的区别是我已经从PHP 7.0升级到PHP 7.2.和libre办公室版本

LibreOffice 6.0.1.1 00m0(Build:1)

我已经尝试为libreoffice和执行命令的包提供root权限但没有成功.

这是我正在使用的软件包https://github.com/szonov/libreoffice-converter

我正在使用laravel 5.4.这是执行操作的包中的代码

    $replacement = array(
        'bin'        => $this->bin,
        'convert_to' => $convert_to,
        'outdir'     => $outdir,
        'source'     => $this->source
    );
    $cmd = $this->makeCommand($replacement);
    $cmd = "sudo ".$cmd;
    shell_exec($cmd);
    $result = false;
    if (file_exists($outfile)) {
        $this->mkdir(dirname($this->destination));
        $result = rename($outfile, $this->destination);
    }

    // remove temporary sub directory
    rmdir($outdir);
    return $result;
Run Code Online (Sandbox Code Playgroud)

我尝试追加sudo,因为当我执行命令并执行使用sudo时,它在命令行中工作.

Tar*_*ani 1

所以你需要使用如下所示的东西

通过 PHP 执行 root 命令

或者您应该启用该www-data用户登录

sudo usermod -s /bin/bash www-data
Run Code Online (Sandbox Code Playgroud)

然后您应该使用该用户登录并修复所有权限问题,以便您可以运行命令

sudo su www-data
Run Code Online (Sandbox Code Playgroud)

完成此操作后,请确保使用以下命令重置登录

sudo usermod -s /bin/nologin www-data
Run Code Online (Sandbox Code Playgroud)

在用户终端中解决问题后,您也可以在 apache 中运行命令而不会出现问题