Atn*_*ize 5 php permissions cmd unoconv
我想自动导出.odf文件到.pdf.
我尝试了一种叫做unoconv的东西.
在Windows命令提示符下键入时,一切都是正确的.
>"C:\Program Files (x86)\OpenOffice 4\program\python.exe" "C:\Program Files (x86)\OpenOffice 4\program\unoconv-master\unoconv" -f pdf path/to/myfile.odt
Run Code Online (Sandbox Code Playgroud)
一旦在PHP脚本中使用,就不再有用了.没有错误出现.
exec('"C:\Program Files (x86)\OpenOffice 4\program\python.exe" "C:\Program Files (x86)\OpenOffice 4\program\unoconv-master\unoconv" -f pdf path/to/myfile.odt');
//or
shell_exec('"C:\Program Files (x86)\OpenOffice 4\program\python.exe" "C:\Program Files (x86)\OpenOffice 4\program\unoconv-master\unoconv" -f pdf path/to/myfile.odt')
Run Code Online (Sandbox Code Playgroud)
我也试图逃避\或使用'和"不同,但我的测试没有一个是决定性的.
$test = exec($cmd, $output, $return);
echo var_dump($test);
echo var_dump($output);
echo var_dump($return);
Run Code Online (Sandbox Code Playgroud)
给我吗
//echo var_dump($test)give nothing
//echo var_dump($ouput);
array (size=0)
empty
//echo var_dump($return);
int 1
Run Code Online (Sandbox Code Playgroud)
这听起来像权限问题,但我也检查了这一点,所有文件夹都可以访问PHP.
小智 0
我会将其添加为评论,但没有足够的代表......
我在从 WAMP 服务器更改为 IIS 时遇到了这个问题,正如您所说,这是一个权限问题。事实证明,我必须授予“IUSR”用户和“IIS_IUSRS”组完全权限才能执行。
后来我遇到了类似的情况,我相信我决定简单地将 IIS 运行的用户更改为管理员,但这可能不推荐。
当然,如果您不使用 IIS,这将是无关紧要的,但我将把它留在这里,以防万一其他人使用 IIS。