我将为php启动一个bash脚本。 我的bash的回显显示正确的代码语法但不启动......
#!bin/bash
var1=$1
var2=$2
config=$("xfreerdp /v:server.domain.tld /u:$1 /p:$2 /load-balance-info:\"tsv://ms terminal services plugin.1.programmes_remot\")
eval "$config"
我在PHP代码之后转过你的感官
system(“/ var / www / test /./ script.sh $ var1 $ var2”);
我刚刚测试了方法2没有错误,但它没有启动xfreerdp这就是我放的
$cmd='xfreerdp /v:server.domain.tld /u:'.$var1.' /p:'.$var2.' /f /cert-igore -menu-anims /network:lan load-balance-info:"tsv://MS Terminal Services Plugin1.Programmes_Remot"';
exec('export display=guilinuxbox:0.0 $cmd');
但这不会启动
答案 0 :(得分:1)
she-bang中缺少斜线:#!/bin/bash
无论如何,你的脚本看起来相当复杂。你可以写:
#!/bin/bash
xfreerdp /v:server.domain.tld /u:$1 /p:$2 /load-balance-info:\"tsv://ms terminal services plugin.1.programmes_remot\"
或直接在PHP脚本中调用xfreedb
:
$var1 = escapeshellarg($var1);
$var2 = escapeshellarg($var2);
system("xfreerdp /v:server.domain.tld /u:$var1 /p:$var2 /load-balance-info:\"tsv://ms terminal services plugin.1.programmes_remot\"");
请注意,出于安全原因,您应始终escape放入shell命令中的变量。
修改强>
好吧,这是一个GUI / X11应用程序。您是否在Web服务器上运行PHP脚本?将2>&1
添加到命令行字符串,如system("... 2>&1")
,以查看HTML输出中的任何错误消息。
我想,您还需要明确grant access to the screen。