命令未使用 shell_exec() 或 system() 或 exec() 函数从 php 脚本运行

发布于 2024-09-10 10:02:50 字数 406 浏览 1 评论 0原文

我正在 Windows 服务器上工作,并且能够从命令提示符运行命令

c:> %convertxls% {some args....}   

但是当我从 php 脚本运行相同的命令时,

*shell_exec(%convertxls% ..... 2>&1);*

它会给出错误,因为

%convertxls% 不被识别为内部或外部命令、可操作程序或批处理文件。

我认为当我从命令提示符运行命令时,它会为登录的用户运行。当我运行 php 脚本时,它会为未设置路径的“www”用户运行。

谁能告诉我我哪里做错了?

*注意:我还没有写出完整的命令。

I am working on Windows server and able to run command from command prompt

c:> %convertxls% {some args....}   

But when I run same command from php script

*shell_exec(%convertxls% ..... 2>&1);*

it gives me error as

%convertxls% is not recognized as an internal or external command, operable program or batch file.

I think when I am running command from command prompt, it run for user which logged in. And when I run the php script it run for "www" user for which path is not set.

Can anybody tell me where I am doing mistake?

*Note: I haven't written complete command.

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

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

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

日记撕了你也走了 2024-09-17 10:02:50

提供可执行文件的完整路径。

Supply the full path to the executable.

累赘 2024-09-17 10:02:50

ignacio 是的,我想补充一点 ignacio 没有指出的。

检查 php.ini 中的参数disable_functions。

也许这个功能是不允许的。

ignacio right,I wanted to add one more point that ignacio did not specify .

Check the parameter disable_functions in the php.ini .

maybe this function is not allowed.

筱果果 2024-09-17 10:02:50

这听起来像是环境变量 %convertxls% 未设置。

可以使用 putenv() 来设置;或者,正如 Ignacio 已经说过的那样,指定完整路径。

This sounds like the environment variable %convertxls% is not set.

You can use putenv() to set it; alternatively, as Ignacio already says, specify the full path.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文