如何在共享驱动器上执行xpdf(pdftotext.exe)?

时间:2016-01-28 14:04:58

标签: php cmd exec pdftotext xpdf

我试图通过PHPXPDFrwxrwxrwx(pdftotext.exe)解析 pdf 文字。在我的本地主机上,每件事都很有效,但是当我试图在服务器上移动所有东西时,我就陷入了麻烦。

首先,我检查了服务器上的一些设置,safe_mode 关闭 exec 未被禁用且权限为$command = "\\\\149.223.22.11\\cae\\04_Knowledge-base\\tools\\pdftotext.exe -enc UTF-8 ". $fileName . " \\\\149.223.22.11\\cae\\04_Knowledge-base\\output.txt"; $result = exec($command,$output,$args); echo shell_exec($command);

然后我试试这个

$result, $output,

哪个不起作用。当我查看\\149.223.22.11\cae\04_Knowledge-base\tools\pdftotext.exe -enc UTF-8 \\149.223.22.11\cae\04_Knowledge-base\testpdf\04_egerland_final_paper.pdf \\149.223.22.11\cae\04_Knowledge-base\output.txt为空时,但$ args返回1,该文件与不正确的函数相对应windows system error codes

整个命令看起来像ANDROID_BUILD_TARGET_SDK_VERSION=23 ANDROID_BUILD_TOOLS_VERSION=23 ANDROID_BUILD_SDK_VERSION=23 ANDROID_BUILD_MIN_SDK_VERSION=16 org.gradle.jvmargs=-Xmx4g -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 ,当它直接输入命令行时,它的工作正常。

所以我有点想法。有人提示吗?

编辑20160201 - aditional尝试 所以我做了aditional测试,当我试图用localhost运行类似的命令(目标.exe文件,输入和输出文件在同一个位置,只有我使用localhost而不是服务器)它的工作。我现在正在检查服务器设置的差异。那么这可能是问题,本地主机服务器Api是 Apache 2.0 处理程序和服务器 CGI / FASTCGI

1 个答案:

答案 0 :(得分:0)

所以这一切都在我身边。我严重检查了IIS权限,忘了将用户分配给我想访问的虚拟目录。因此,我唯一的建议和更多的智慧是加倍(可能是三倍)检查你是否正确设置了所有权限。