exec — PHP Script должен выполнять оболочку производителя и в пределах нескольких команд

Я занимаюсь разработкой php-скрипта, который работает в системе apache Linux. Он должен выполнить несколько команд для меня. В зависимости от того, какую команду я выполнял в своем пользовательском интерфейсе php.

До сих пор мне удавалось успешно реализовать это с помощью различных команд shell_exec.
Теперь я хочу выполнить следующую команду через скрипт php exec в системе Linux.

Оболочка AdminTool $ IP $ USER $ ПАРОЛЬ

Обычно, когда я ввожу эту команду в самой системе Linux, она открывает соединение и запускает оболочку, предоставленную производителем оборудования.

Теперь я хочу запустить эту оболочку с помощью php exec и запустить следующую команду в этой оболочке производителя. Зависит от того, что я выбрал через мой пользовательский интерфейс PHP.

Оболочка предоставляет различные команды внутри.

Кто-нибудь знает, может ли это работать? И если да, то как?

0

Решение

Оболочка — это просто интерпретатор командной строки.
Команды — это (большинство из них) имена исполняемых файлов программ, и, вызывая их (используя команду), вы указываете оболочке проверить, существует ли исполняемый файл по предопределенному пути (пути среды) и выполняет ли он программу.

Я просто догадываюсь, но то, что вы запускаете с оболочкой AdminTool $ IP $ USER $ PASSWORD, — это программа, которая запускается в интерфейсе командной строки, если указан параметр «shell».

Вы не можете использовать php exec с интерфейсом командной строки программы.
Ваши варианты:

  • AdminTool имеет API, и вы общаетесь с программой через него
  • Вы можете выполнять задачи, которые необходимо выполнить с программой, передавая параметры команды, например,

    AdminTools $ ip $ user $ пароль dotaskone
    AdminTools $ ip $ user $ password dotasktwo
    Но, глядя на первые три параметра, которые вы передаете, я думаю, что вы устанавливаете соединение с сервером.
    Зависит от сложности того, что вы делаете с этой программой (если она построена так, чтобы принимать параметры в качестве команд), это означает, что выполняется много программ — поэтому много соединений с тем сервером, к которому она подключается.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]