2010-11-25 25 views
8

Quiero ejecutar un código de C++ en script php. Toma 6 argumentos de tiempo de ejecución.
estoy tratando con:ejecutar el programa C++ con la secuencia de comandos php

exec("./controller.exe",{"125", "70", "127", "220" ,"0.5", "0.4"}); 

Pero no está funcionando.

+2

¿Qué quiere decir con código de C++? ¿Es código puro, o fue compilado? Y exactamente lo que no funciona, es decir, ¿cuál es su mensaje de error? – Lagerbaer

+2

Revise la documentación de PHP para el ejecutivo. El segundo argumento no es argumentos en tiempo de ejecución, necesita concaturarlos en la cadena "./controller.exe". – Frode

+0

Además, asegúrese de que la aplicación C++ se haya compilado para la arquitectura/plataforma en la que ejecuta php. La mayoría de los programas de Windows cli no se ejecutarán en un entorno de servidor Linux. – Rahly

Respuesta

1

Puede usar PHP system() para ejecutar cosas a través de la línea de comandos.

4

PHP scripts son ejecutados por php.exe así que a menos que tenga controller.exe en la misma carpeta con php o su carpeta que contiene controller.exe esté en su variable de ruta de acceso, no funcionará.

Trate de darle una ruta absoluta.

Los argumentos deben ser pasados ​​en la misma cadena que el ejecutable, por lo menos así:

exec("/c/project/controller.exe {'125', '70', '127', '220' ,'0.5', '0.4'}"); 
+0

El problema es que los argvs se deben pasar en la misma cadena que el ejecutable; el segundo arg es una referencia (opcional) a una variable para contener la salida – symcbean

7

Puede utilizar la llamada:

exec("./controller.exe 125 70 127 220 0.5 0.4", $out); 

$ cabo contendrá la salida si están interesados ​​

+0

Aquí hay algunos ejemplos más: http://webtutsdepot.com/2010/ 03/21/c-plus-plus-php-and-jquery/ – Firze

1

Puede usar este código de muestra:

<?PHP 
    $output=shell_exec("controller.exe 125 70 127 220 0.5 0.4"); 
    echo $output; 
?> 

Está funcionando muy bien para mí. Coloque ambos controller.exe y xx.php en la misma carpeta.

+1

Recuerde siempre si cree que la solución dada es correcta o útil, luego modifique la solución y acepte como solución correcta ........... ... hacerlo un hábito ....... –

1

Para que su código C++ se ejecute en PHP, especifique la ruta del código o coloque el código en la carpeta PHP. A continuación, siga este comando:

exec("/c/project/controller.exe {'125', '70', '127', '220' ,'0.5', '0.4'}"); 

Para mantener la salida puede incluir otro argumento $ de salida después de las llaves. e imprime esa salida.

Cuestiones relacionadas