找不到 Libreoffice 源 aws linux
Libreoffice source not found aws linux
我正在尝试在我的 aws linux 服务器上将文件从 doc 转换为 pdf。在我以前的机器上它运行良好,但现在我在我的新机器上遇到了问题。唯一的区别是我已经从 PHP 7.0 升级到 PHP 7.2。和自由办公室版本
LibreOffice 6.0.1.1 00m0(内部版本: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;
我尝试附加 sudo,因为当我使用 sudo 执行命令时,它在命令行中工作。
您必须更改存储文件的目录的所有权,请在您的 aws ubuntu 机器上尝试以下命令。
sudo chown -R www-data:www-data /var/www/my-project/
这个问题只有2个场景
- 用户没有权限。
- 问题出在代码上。
我的假设是 Laravel 除了这部分以外与您合作良好
这意味着您可以访问存储文件,为什么不保存在那里?
如果你能保存在那里,比较文件夹,你的问题就解决了。
如果您不能在那里保存,那么问题出在我怀疑的代码上,因为您说之前一切正常。
所以你需要使用下面的东西
Execute root commands via PHP
或者您应该允许登录 www-data
用户
sudo usermod -s /bin/bash www-data
然后您应该使用该用户登录并修复所有权限问题,这样您就可以运行命令
sudo su www-data
完成此操作后,请确保使用以下方法重置登录
sudo usermod -s /bin/nologin www-data
在用户终端中解决问题后,您也可以运行在 apache 中正常执行命令
我正在尝试在我的 aws linux 服务器上将文件从 doc 转换为 pdf。在我以前的机器上它运行良好,但现在我在我的新机器上遇到了问题。唯一的区别是我已经从 PHP 7.0 升级到 PHP 7.2。和自由办公室版本
LibreOffice 6.0.1.1 00m0(内部版本: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;
我尝试附加 sudo,因为当我使用 sudo 执行命令时,它在命令行中工作。
您必须更改存储文件的目录的所有权,请在您的 aws ubuntu 机器上尝试以下命令。
sudo chown -R www-data:www-data /var/www/my-project/
这个问题只有2个场景
- 用户没有权限。
- 问题出在代码上。
我的假设是 Laravel 除了这部分以外与您合作良好
这意味着您可以访问存储文件,为什么不保存在那里?
如果你能保存在那里,比较文件夹,你的问题就解决了。
如果您不能在那里保存,那么问题出在我怀疑的代码上,因为您说之前一切正常。
所以你需要使用下面的东西
Execute root commands via PHP
或者您应该允许登录 www-data
用户
sudo usermod -s /bin/bash www-data
然后您应该使用该用户登录并修复所有权限问题,这样您就可以运行命令
sudo su www-data
完成此操作后,请确保使用以下方法重置登录
sudo usermod -s /bin/nologin www-data
在用户终端中解决问题后,您也可以运行在 apache 中正常执行命令