使用命令行输入从php页面执行命令

时间:2016-08-31 10:00:56

标签: php task scheduling at-job

我想在Linux环境中从PHP shell_script执行以下命令。

shell_exec('at 12:39 <<< "mkdir newfolder"');

我已尝试过PHP的所有方法来执行此脚本,但它无法正常工作。  在终端中,当我运行at 12:39 <<< "mkdir newfolder"时,它正在执行,任务正在调度。但是当我尝试使用shell_exec在php中运行相同的脚本时,它无效。

您可以在键入at 12:39时了解问题,它会显示您输入的内容并按Ctrl + d完成执行。在这里使用<<<

进行单行处理

任何人都可以建议我如何从PHP执行此脚本?

1 个答案:

答案 0 :(得分:2)

shell_exec uses dash shell system by default : to make sure run php -r 'echo shell_exec("echo $0");' and it will output 'sh' , and Dash does not have the <<< redirection operator.

Instead you could force the use of Bash and do something like:

shell_exec('/bin/bash -c \'at 12:39 <<< "mkdir newfolder"\'');

Hope this will help.