windows平台上php-cgi调用系统命令(net)时执行异常,但在命令行下能正常执行,问题会出在哪呢?

发布于 2022-09-01 11:58:59 字数 571 浏览 33 评论 0

平台环境:
OS: windows 2003 x86 SP2
Apache: 2.4.12
Mod_fcgi: 2.3.8
PHP: 5.4.41 (NTS)

调用方式:exec\system\popen

调用命令:net start [service_name]

Return Code: 2 (查了一下是找不到相关文件,但是net.exe是被调用了的,只是没有成功执行)

问题描述:
1. 通过Apache在PHP代码里面,用exec\system\popen等调用外部命令的方式,调用net命令做任何操作,都会执行失败,调用返回值为2。
2. 在命令行里面,用php-cgi.exe来执行PHP代码调用net命令,能够成功执行。
3. 尝试过把net命令的调用封装到py里面,然后用php去调用python执行该py,仍然是不能成功执行。

已经尝试过的方法:
1. 各种命令调用方式的尝试
2. 排除system账号无权限执行net命令
3. 其它一些命令,如ping等是可以正常执行的

求教各位,为毛会存在这种情况?应该从哪些点排查呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文