小弟最近在做一个转换word的功能.遇到这样一个问题.
代码如下:$docpaths="E:\MacromediaFlashPapercn\FlashPrinter.exe D:/doc/123.doc -o  D:/doc/123.swf";
exec($docpaths,$out,$status);
这段代码在win7和2003上转换正常,但是放到win8下面,程序就执行不起来了,进程里FlashPrinter和winword都启动了,但是一直不动,直到网页请求结束 ,$status返回1.
进程里apache服务,FlashPrinter和winword执行的用户名都是system,
FlashPrinter和D:/doc文件夹以及程序文件夹的权限都是everyone,并且都有写入,读取,修改权限.
虚拟打印机也是加入了全部权限,
E:\MacromediaFlashPapercn\FlashPrinter.exe D:/doc/123.doc -o  D:/doc/123.swf这段语句在cmd下执行正常,可以转换,但是用php网页执行就不行,同样的php环境在win7和2003下面都正常.
哪位前辈能跟我说下怎么回事,万分感激.

解决方案 »

  1.   

    因为除了做win8应用的,没谁那么蛋疼装win8………………
    (尽管我准备装)
      

  2.   

    我用PHP+mysql+flashpaper实现上传doc文件转化为swf文件,
    多用户同时上传转化时卡死,求解决。
    原因1:flashpaper不支持多线程操作
    解决1:写个单例队列,让上传文件排队转换。
     
    原因2:flashpaper转换word成flash时,如果两个文件一起进行,会假死。
    解决2:编写一个守护线程,维护单例队列秩序,要完成一个后,再进行第二个转换。
    求高手用php帮忙解决 
      

  3.   

    看看是否有权限运行cmd吧。
      

  4.   

    win8...... 高级  没用过~
      

  5.   

    开启所有错误提示,然后var_dump(exec('....'));
    结果贴上来