Я хочу выполнить приведенную ниже команду из PHP shell_script в среде Linux.
shell_exec('at 12:39 <<< "mkdir newfolder"');
Я пытался во всех методах PHP, чтобы выполнить этот скрипт, но он не работает.
В терминале, когда я бегу at 12:39 <<< "mkdir newfolder"
он выполняется, и задача является расписанием. Но когда я пытаюсь запустить тот же сценарий в php с помощью shell_exec, он не работает.
Вы можете понять проблемы, когда вы печатаете at 12:39
он покажет вам, как поместить ввод и нажмите Ctrl + d, чтобы завершить выполнение. чтобы сделать это в одной строке здесь я использую <<<
Кто-нибудь может подсказать, как можно выполнить этот скрипт из PHP?
shell_exec по умолчанию использует систему оболочки dash: чтобы убедиться, что php -r 'echo shell_exec("echo $0");'
и он выведет ‘sh’, а Dash не имеет <<< оператор перенаправления.
Вместо этого вы можете принудительно использовать Bash и сделать что-то вроде:
shell_exec('/bin/bash -c \'at 12:39 <<< "mkdir newfolder"\'');
Надеюсь, это поможет.
Других решений пока нет …