Вопрос

I'm trying to execute a shell command from php using the exec command

The following command works

echo exec('whoami');

but I need to execute the following shell command

cat > /var/www/myfolder/abc.txt
hi
hello
welcome

the problem is that the above shell command has to be executed in multiplelines. The words "hi", "hello", "welcome" are dynamic and come from php variables. Is there a workaround for this problem.

Это было полезно?

Решение

To execute a multiline shell command in php:

passthru("bash <<'END'
        echo \"executed in new bash session\";
        pwd;
        whoami;
        exit;
        END
");

This way you could for example connect to a ssh server using php and then execute some commands there

I don't understand what you mean by cat > abc.txt. This command will empty the file.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top