如何使用 Php 执行 docx2txt shell 脚本?

How to execute docx2txt shell script with Php?

我正在使用 docx2txt 来提取 .docx 内容。 我可以通过 运行 在终端中使用 shell 脚本来实现。

下面是Terminalshell脚本,

 niveus@niveus:/var/www/docx2txt$ ./docx2txt.sh test.docx

 Text extracted from <test.docx> is available in <test.txt>.

但我也想 运行 这个脚本 php。

我试过了,

<?php

 $docxFilePath = "test.docx";
 echo  $content = shell_exec('./docx2txt.sh '.escapeshellarg($docxFilePath));

?>

输出Failed to extract text from !

docx2txt.shtest.txt 都在同一个文件夹中 docx2txt

问题是权限。将 docx2txt 文件夹的 permission 更改为 chmod 777 后 以下 php 代码有效。

<?php

 $docxFilePath = "test.docx";
 echo  $content = shell_exec('./docx2txt.sh '.escapeshellarg($docxFilePath));

?>

使用以下命令更改文件夹权限

sudo chmod 777 -R /var/www/docx2txt