命令未使用shell_exec()或system()或exec()函数从php脚本运行
我正在Windows server上工作,能够从命令提示符运行命令命令未使用shell_exec()或system()或exec()函数从php脚本运行,php,shellexecute,Php,Shellexecute,我正在Windows server上工作,能够从命令提示符运行命令 c:> %convertxls% {some args....} 但当我从php脚本运行相同的命令时 *shell_exec(%convertxls% ..... 2>&1);* 它给我错误的感觉 %convertxls%未被识别为内部或外部命令、可操作程序或批处理文件。 我认为当我在命令提示符下运行命令时,它会为登录的用户运行。当我运行php脚本时,它会为未设置路径的“www”用户运行 有人能告诉
c:> %convertxls% {some args....}
但当我从php脚本运行相同的命令时
*shell_exec(%convertxls% ..... 2>&1);*
它给我错误的感觉
%convertxls%未被识别为内部或外部命令、可操作程序或批处理文件。
我认为当我在命令提示符下运行命令时,它会为登录的用户运行。当我运行php脚本时,它会为未设置路径的“www”用户运行
有人能告诉我我在哪里犯错吗
*注意:我还没有编写完整的命令。提供可执行文件的完整路径。ignacio对,我想再添加一个ignacio没有指定的点 检查php.ini中的参数disable_函数
可能不允许使用此函数。听起来好像没有设置环境变量
%convertxls%
您可以使用来设置它;或者,正如Ignacio所说,指定完整路径。这就是您传递给
shell\u exec
?感谢我使用putenv()设置了convertxls,并且它工作正常。但当我使用完整路径时,它不起作用,并给出错误“C:/Program”不被识别为内部或外部命令、可操作程序或批处理文件。再次感谢您以任何方式完成我的工作。@Kamlesh您需要在引号中设置路径<代码>“C:\Program Files\…”注意,您可能希望使用单引号而不是双引号,因为使用双引号意味着反斜杠将用作分隔符并导致混淆错误