小弟初学PHP,很简单的一段代码。<?php
$out = `dir c:`;
echo '<pre>'.$out.'</pre>';
?>报错
Warning: shell_exec(): Unable to execute 'dir c:' in D:\phptest\test.php on line 2cmd.exe已给权限
php.ini下safe mode也是off的
不知还有何情况会导致这种错误发生?

解决方案 »

  1.   

    换成 "dir c:\\" 试一下
      

  2.   

    http://blog.ixpub.net/html/68/12931668-403758.html
    不过我没找到Security这一栏不知道能不能解决你的问题
      

  3.   

    cmd.exe已给权限这就是那个给CMD权限,我来并账户跟EVERONE都给所有权限了。
      

  4.   

    代码字符不对!或者权限你没有设置好!
    我的这里一切正常!测试平台XP系统,PHP533。XP用户为administrator(管理员)
    注意代码格式:<?php
    $out = shell_exec("dir c:");
    echo '<pre>'.$out.'</pre>';
    ?>
    输出为:
      驱动器 C 中的卷是 WINXP
     卷的序列号是 335E-15FE C:\ 的目录2010-03-15  14:44              WINDOWS
    2010-03-15  14:48              Documents and Settings
    2010-03-15  14:57              Program Files
    2010-03-15  14:58                 0 CONFIG.SYS
    2010-03-15  14:58                 0 AUTOEXEC.BAT
    2011-01-05  22:27              Intel
    2011-03-09  08:21               508 RTHDCPL_Dump.txt
    2011-01-06  20:05                83 ftnstat.stat
    2011-01-15  14:24                58 b.txt
    2011-01-07  00:58              Media
    2011-01-08  21:28              Downloads
    2011-01-16  00:05           249,945 grldr
    2011-01-12  20:56           230,304 1.txt
    2011-01-15  23:52                 0 ExeDosCMD.tmp
    2011-01-16  00:05           774,144 message
    2011-01-25  15:48              Inetpub
    2011-03-01  15:03              memcache
                  11 个文件      4,844,162 字节
                   8 个目录  9,732,882,432 可用字节
    这个结果和cmd里的一样的。
      

  5.   

    大家在PHP开发的时候都不会用到``这种么。。
      

  6.   

    权限如果设置都没有问题后!
    关闭安全模式safe mode=off甚至完成后记得重新启动apache
      

  7.   

    exec是个不安全的函数,一般个人服务器也好,虚拟空间也好,都会禁用或关闭它,开发站点一般都不用这个,特例除外!
      

  8.   


    但是shell_exe是需要""的,因为常会碰到路径的\需要转义,你没看我写给你也是""的么?你肯定没去试吧?
      

  9.   

    不用试了。问题绝对不在那,我的机器执行成功;就没用\\,测试平台上面已经公布! 
      $out = shell_exec("dir c:");//代码里没有用:\\
      echo '<pre>'.$out.'</pre>';
      

  10.   

    我是用IIS的,FASTCGI的模式,也是XP,ADMINISTRATOR。
    重启IIS后还是无效吧。。
    SAFE MODE 早就OFF了。。