我正在执行一个C程序,即'.exe',它是来自PHP的可执行文件。
我有一个HTML界面,每当我点击一个按钮就会调用一个PHP文件。
在PHP上,它调用一个shell脚本。 所以在PHP上,我使用以下内容:
echo shell_exec('sh auto_script.sh');
shell文件执行程序.exe,如下所示:
./import -file.txt
其中import
是我的可执行程序C程序.exe和file.txt是一个输入,我现在很难编码。
可执行文件'import'存储在与调用的php文件相同的目录中。
当我在终端上执行shell脚本时,它会以必要的输出正确执行。
但是当我尝试从PHP执行它时它不起作用。截至目前,我已授予完整的文件权限。
答案 0 :(得分:0)
快速检查[ shell_exec ]联机帮助页shell_exec
,其定义如下:
string shell_exec(string $ cmd)
这意味着参数应该是一个字符串,这确实意味着它应该在引号内。顺便说一下,你不需要这里的中介脚本,所以:
echo shell_exec('./import "-file.txt"'); //Using relative paths
说过将二进制文件放在脚本文件夹中是一个坏主意,但我希望上面有助于你帮助你。