社区
基础编程
帖子详情
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
打赏
收藏
shell_exec()没权限?
小弟初学PHP,很简单的一段代码。 <?php $out = `dir c:`; echo ''.$out.''; ?> 报错 Warning: shell_exec(): Unable to execute 'dir c:' in D:\phptest\test.php on line 2 cmd.exe已给权限 php.ini下safe mode也是off的 不知还有何情况会导致这种错误发生?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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这一栏
不知道能不能解决你的问题
总结
shell
_
exec
调用 php 脚本不成功的原因
最初的调用命令:
shell
_
exec
("php /data/web/code/think MyCronJob") 正常情况下 MyCronJob 执行完成后,会输出文件日志到系统 发现执行成功后,
shell
_
exec
返回NULL,查看日志也
没
有执行成功php脚本 尝试: 1、检查php.ini配置文件 safe_mode 查看安全模式是否开启 safe_mode_
exec
_dir 该参数指定了只有在特定目录中的外部程序才可以被执行 disable_functions 禁用的函数 2、
ubuntu php
权限
,关于Linux Ubuntu的php
shell
_
exec
()
权限
我正在使用Linux服务器开发一个php应用程序.我的问题是执行
shell
_
exec
()来调用一些exe文件是不行的(实际上不是exe,它是一种linux可执行文件)echo
shell
_
exec
("whoami");我有守护进程echo
shell
_
exec
("ls")我有一些文件名但echo
shell
_
exec
("php -v")我什么都
没
有,一页空白echo
shell
_
exec
("php...
php
exec
、 system 、
shell
_
exec
无法执行,
没
有结果,结果为NULLD,解决办法
查看php.ini 是否禁用了这些函数: 找到disable_functions = 把
exec
, system,
exec
_
shell
去掉,用到哪个去哪个; 重启php服务,这一步很重要
php web不执行
shell
_
exec
,php web端不能调用
shell
_
exec
运行linux命令(unoconv为例)
新建一个php文件(test.php)将下面的代码进行粘贴到新建的PHP文件中
shell
_
exec
("unoconv -f pdf test.odt");?>(1)在终端中执行php test.php,此时生成了test.pdf文件(2)在web端输入链接访问test.php,发现此时test.pdf文件
没
有生成。这时可以有80%怀疑
权限
问题(且php并
没
有报错)(3)进入test.php所...
shell
_
exec
() php 执行
shell
脚本
在执行的时候发现报错:
shell
_
exec
() has been disabled for security reason
基础编程
21,886
社区成员
140,364
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章