shell_exec()没权限?

灬上海爽爷 2011-03-09 12:09:57
小弟初学PHP,很简单的一段代码。

<?php
$out = `dir c:`;
echo '<pre>'.$out.'</pre>';
?>

报错
Warning: shell_exec(): Unable to execute 'dir c:' in D:\phptest\test.php on line 2

cmd.exe已给权限
php.ini下safe mode也是off的
不知还有何情况会导致这种错误发生?
...全文
674 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ImN1 2011-03-09
  • 打赏
  • 举报
回复
那就帮不了你了……
灬上海爽爷 2011-03-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 snmr_com 的回复:]

换成 "dir c:\\" 试一下
[/Quote]
一样吧,应该不是代码的问题,是哪边权限或者设置的问题吧。
ImN1 2011-03-09
  • 打赏
  • 举报
回复
换成 "dir c:\\" 试一下
灬上海爽爷 2011-03-09
  • 打赏
  • 举报
回复
我是用IIS的,FASTCGI的模式,也是XP,ADMINISTRATOR。
重启IIS后还是无效吧。。
SAFE MODE 早就OFF了。。
kaifadi 2011-03-09
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 snmr_com 的回复:]

引用 7 楼 tcwsyt 的回复:

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


但是shell_exe是需要""的,因为常会碰到路径的\需要转义,你没看我写给你也是""的么?你肯定没去试吧?
[/Quote]
不用试了。问题绝对不在那,我的机器执行成功;就没用\\,测试平台上面已经公布!
$out = shell_exec("dir c:");//代码里没有用:\\
echo '<pre>'.$out.'</pre>';
ImN1 2011-03-09
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 tcwsyt 的回复:]

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

但是shell_exe是需要""的,因为常会碰到路径的\需要转义,你没看我写给你也是""的么?你肯定没去试吧?
kaifadi 2011-03-09
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 tcwsyt 的回复:]

大家在PHP开发的时候都不会用到``这种么。。
[/Quote]
exec是个不安全的函数,一般个人服务器也好,虚拟空间也好,都会禁用或关闭它,开发站点一般都不用这个,特例除外!
kaifadi 2011-03-09
  • 打赏
  • 举报
回复
权限如果设置都没有问题后!
关闭安全模式safe mode=off甚至完成后记得重新启动apache
灬上海爽爷 2011-03-09
  • 打赏
  • 举报
回复
大家在PHP开发的时候都不会用到``这种么。。
kaifadi 2011-03-09
  • 打赏
  • 举报
回复
代码字符不对!或者权限你没有设置好!
我的这里一切正常!测试平台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里的一样的。

灬上海爽爷 2011-03-09
  • 打赏
  • 举报
回复
cmd.exe已给权限

这就是那个给CMD权限,我来并账户跟EVERONE都给所有权限了。
Akuma XYD 2011-03-09
  • 打赏
  • 举报
回复
http://blog.ixpub.net/html/68/12931668-403758.html
不过我没找到Security这一栏

不知道能不能解决你的问题

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧