2016-08-31 6 views
0

Я хочу выполнить команду ниже из PHP shell_script в среде Linux.Выполнение команды с php-страницы с помощью ввода командной строки

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

Я попытался использовать весь метод PHP для выполнения этого скрипта, но он не работает. В терминале, когда я запускаю at 12:39 <<< "mkdir newfolder", он выполняется, и задача заключается в планировании. Но когда я пытаюсь использовать тот же скрипт в php с помощью shell_exec, он не работает.

Вы можете понять проблемы, когда набираете at 12:39, он покажет вам, как поставить ввод и нажать Ctrl + d, чтобы завершить выполнение. чтобы сделать это в одной строке здесь, я использую <<<

Может ли кто-нибудь предложить, как я могу выполнить этот скрипт с PHP?

ответ

2

shell_exec использует систему оболочки тира по умолчанию: чтобы убедиться, что пробег php -r 'echo shell_exec("echo $0");' и будет выводить «ш», и Дэш не имеет оператора перенаправления на < < <.

Вместо этого вы могли бы заставить использовать Bash и сделать что-то вроде:

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

Надеется, что это поможет.

+0

благодарит Yacine за ответ, сценарий, о котором вы упоминаете, возвращает false, а также задача также не предназначена для планирования. вы можете попробовать это и предложить мне ответ. –

+0

, если я запускаю этот php -r 'echo shell_exec («echo $ 0»); «в терминале он работает нормально, но когда я запускаю с помощью shell_exec' shell_exec ('/bin/bash -c \ 'в 12 : 39 <<< "mkdir newfolder" \ ''); 'он не работает –

+0

Выполняете ли вы скрипт с помощью команды php или с веб-сервера? –