命令未使用 shell_exec() 或 system() 或 exec() 函数从 php 脚本运行
我正在 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
提供可执行文件的完整路径。
Supply the full path to the executable.
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.
这听起来像是环境变量
%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.