Я хочу запустить код c ++ в php-скрипте. Он принимает 6 аргументов времени исполнения.
Я пытаюсь:
exec("./controller.exe",{"125", "70", "127", "220" ,"0.5", "0.4"});
Но это не работает.
Вы можете использовать вызов:
exec("./controller.exe 125 70 127 220 0.5 0.4", $out);
$ out проведет вывод, если вы заинтересованы
PHP-скрипты запускаются php.exe, поэтому, если у вас нет файла controller.exe в той же папке с php или вашей папкой, которая содержит файл controller.exe, в вашей переменной пути это не работает.
Попробуйте дать ему абсолютный путь.
Аргументы должны передаваться в той же строке, что и исполняемый файл, так что примерно так:
exec("/c/project/controller.exe {'125', '70', '127', '220' ,'0.5', '0.4'}");
Вы можете использовать system()
PHP system()
для выполнения команд через командную строку.
Вы можете использовать этот пример кода:
<?PHP $output=shell_exec("controller.exe 125 70 127 220 0.5 0.4"); echo $output; ?>
Он работает очень хорошо для меня. Поместите оба xx.php
controller.exe
и xx.php
в ту же папку.
Чтобы код C ++ запускался на PHP, вы либо указываете путь к коду, либо помещаете этот код в папку PHP. Затем выполните следующую команду:
exec("/c/project/controller.exe {'125', '70', '127', '220' ,'0.5', '0.4'}");
Чтобы удерживать вывод, вы можете включить другой аргумент $ output после фигурных скобок. и распечатать этот вывод.