Ben exec()
işlevini kullanarak bir PHP komut dosyası arka planda uzak port yönlendirme için bir uzak sunucuya bir SSH kabuk başlatmak gerekir.
The command when run in the background is $execStr
, so I use exec($execStr ." > /dev/null &");
$execStr
works fine manually, but not in the script.
Doğru sözdizimi nedir?
Burada kötü niyetli bir programdır.
#!/usr/bin/php
<?php
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
$handle = fopen('accountno', 'r');
if ($handle) {
$accountNo = fgets($handle);
$acc = substr($accountNo, 4, 4);
$execStr = "ssh -R $acc"."1:localhost:22 -R $acc"."2:localhost:5432 -R $acc"."3:localhost:10000 -i ~/remoteAdmin.key ht$acc@domain.net";
print("$execStr\n");
$pid = exec("$execStr > /dev/null &");
$pidHandle = fopen("rempid","w");
fwrite($pidHandle, $pid);
fclose($pidHandle);
echo "program got to the end\n";
}
?>