我试图用exec()它'whoami'来检查它是否有效,我得到了结果
nt authority\system
Run Code Online (Sandbox Code Playgroud)
现在我需要运行.exe带有phpvia exec()函数参数的文件.
我在命令提示符下尝试了这个,它实际上运行带有给定参数的程序.这是示例命令.
注意 exe文件获得3个输入(文件夹,file_name,report_file_nmae)
> ..\..\some_file.exe folder="C:\path_to_folder" param=1.xml report=2.xml
Run Code Online (Sandbox Code Playgroud)
但是当我从php文件中运行此命令时:
exec('..\..\some_file.exe folder="C:\path_to_folder" param=1.xml report=2.xml');
Run Code Online (Sandbox Code Playgroud)
一切都没有发生.这是我第一次使用exec()函数,所以我不熟悉它的细节.怎么了?
我试过用:
\\ 代替 \escapeshellarg() 在目录上""了目录文件夹名称没运气
附录:
echo exec($command) // echos < .... why?
Run Code Online (Sandbox Code Playgroud)
要么
exec($command, $output);
print_r($output); // Array()
Run Code Online (Sandbox Code Playgroud)
我甚至将文件的权限更改为对所有用户的完全控制权.如果我从中调用该程序command prompt,我可以看到时钟旁边出现的图标.
但同样的呼叫php甚至都不会调用该程序.
编辑
即使exec('notepad.exe');不工作.php可能需要对配置做些什么?