2010-03-19 27 views
17

Tenemos una aplicación web PHP que se ejecuta en la máquina de un cliente. Para una actualización, tenemos un poco de código en C que nos gustaría incluir como una biblioteca opaca nativa junto con la aplicación web PHP.Llamando a la función de biblioteca C/C++ desde PHP

¿Cómo se puede llamar a una lib de C/C++. función de PHP?

No se puede suponer que la aplicación PHP, llamada por el servidor web, tenga algún tipo de permiso para llamar a un tipo de función exec(), eval() o system() para ejecutar un controlador C wrapper que turn usa la biblioteca C/C++, por lo que necesitaría ser un uso directo de la biblioteca C desde dentro del código PHP.

Respuesta

7

La respuesta por San Juan Johnson es correcta. Pero ahora también puede usar la biblioteca php-cpp. Ofrece un puente mucho más fácil entre PHP y C++. Ver http://www.php-cpp.com para más información.

+10

Hi! Debes revelar que esta es tu biblioteca. http://meta.stackexchange.com/a/59302/155739 Lea atentamente las preguntas frecuentes del sitio. –

1

Puede compilar su código y usar las funciones de sistema, shell_exec o passthru para manejar la salida. La mayoría de los servidores web le permiten compilar código C++, solo ssh en su servidor, cargar el código y compilarlo.

1

Otra opción es hacer que el código C como un demonio, siempre corriendo, y el script php conectarse a punto a través de sockets de dominio Unix o alguna biblioteca existente para intercambiar datos.

Más información here

Cuestiones relacionadas