win2003服务器+iis+php exec无法调用php外部命令,匿名用户给的是管理员权限,php也解禁了exec ,cmd.exe给的是读取加可执行权限, php处于非安全模式,那位大神能帮我分析分析是什么原因啊 !!!!! 

解决方案 »

  1.   

      
     $cmd="ffmpeg.exe -i starwar.avi -ab 56 -ar 22050 -b 500 -r 15 -s 320*240 1.flv";  
     exec($cmd);  
     
     $cmd="ffmpeg.exe -i starwar.avi -f image2 -ss 15 -s 400*300 -vframes 1 1.jpg";   
     exec($cmd);  
      

  2.   

    先确认 exec 的可用性
    echo exec('cmd');
    确实可用时
    在检查路径是否正确按你的写法,命令是在当前目录下执行的,还需检查当前目录是否有执行权
      

  3.   

    另外,按 ffmpeg 的使用说明,输入和输出的文件都应该使用绝对路径
      

  4.   

     运行echo exec('cmd');  显示这个是怎么回事??C:\WINDOWS>
      

  5.   

    应该是路径的问题,iis进程可能会找不到ffmpeg.exe
    如果已经将ffmpeg.exe的路径加入到PATH变量中,可能需要下次服务器重启后才能生效。
      

  6.   

    echo exec('cmd');  显示 C:\WINDOWS>
    表示你具有执行命令行指令的权限
      

  7.   

    刚刚试过了 加了path也没有任和反应啊
      

  8.   

    ffmpeg.exe -i starwar.avi -ab 56 -ar 22050 -b 500 -r 15 -s 320*240 1.flv标红的部分都用绝对路径呢?能执行么
      

  9.   

    我按最后的方法试了 还是  提示 拒绝访问  exec 的output 返回值 ,到底是什么原因啊
      

  10.   

    这是代码:exec("dir", $output, $return_val);
    print_r($output);
    这是输出 
    Array ( [0] => 拒绝访问。 );
    哪位高手帮忙看下这个问题 
    cmd 权限,php环境都已弄好,参考了好多的博客,google,百度了100多页了也没解决,真有高手帮我解答排除,必有重谢
    环境是 2003 iis+php5.3
      

  11.   

    将当前iis应用池的匿名用户加到cmd权限组里面就行了,权限给‘读和执行’