2014-06-14 61 views
1

我在CMD命令,它看起来像下面命令而不是通过PHP了shell_exec在cmd中工作

C:\wamp\www\editor\DocTo-master\exe\docto -f C:\wamp\www\editor\uploaded\uploaded_files_21_original\AffidavitinDIR-4.docx -O "C:\wamp\www\editor\uploaded\uploaded_files_21_original\pdf\21.pdf" -T wdFormatPDF 

当我在cmd中运行它,它工作绝对没问题,并给出输出(DOC到PDF)如预期。 然而,当我把同样的命令在PHP了shell_exec像

shell_exec('C:\wamp\www\editor\DocTo-master\exe\docto -f C:\wamp\www\editor\uploaded\uploaded_files_21_original\AffidavitinDIR-4.docx -O "C:\wamp\www\editor\uploaded\uploaded_files_21_original\pdf\21.pdf" -T wdFormatPDF'); 

我不得到与在PHP上面的代码所需的输出。 任何帮助将不胜感激

+0

你要逃避'\''到'\\我 –

+0

试图取代它们,但它仍然不工作! – Rakhi

回答

1

似乎像大多数问题必须做与权限或重定向。

您当前的用户凭据允许您在该目录中创建文件,但使用web服务器用户名吗?

将stderr重定向到stdout以获取错误信息。

引用是否正确?

查看网络服务器错误日志。

+0

这是我得到的错误日志文件 FileToConvert:C:\ wamp \ www \ editor \ uploaded \ uploaded_files_21_original \ AffidavitinDIR-4.docx OutputFile:C:\ wamp \ www \ editor \ uploaded \ uploaded_files_21_original \ pdf \ 21.pdf 分机17 ***************************************** 错误:EOleException此命令不可用,因为没有文档打开 ************************************* **** 错误:退出错误代码:220 – Rakhi

0

我是docto的作者。

这很可能是一个权限问题,因为php不一定会给出正确的权限来在您的服务器上运行word。

我在运行Word 2010的Windows 2012服务器上自己运行它,它工作正常。 DocTo安装在Web服务器根目录上的子目录中。

PHP运行作为NTSystem管理局

而且我使用EXEC而不是了shell_exec不知道如果让任何differnce

相关问题