У нас есть веб-приложение PHP, работающее на машине клиента. Для обновления у нас есть немного кода на C, который мы хотели бы включить как родную непрозрачную библиотеку вместе с веб-приложением PHP.
Как нужно обращаться к C / C ++ lib. функция из PHP?
Нельзя предположить, что приложение PHP, вызываемое веб-сервером, имеет какое-либо разрешение на вызов функции exec (), eval () или system () для выполнения драйвера оболочки C, который, в свою очередь, использует C / C ++, поэтому в PHP-коде должно быть использование библиотеки C непосредственно.
Взгляните на некоторые из учебников Zend по написанию расширений, в частности, «Обтекание классов C ++ в расширении PHP»,
Ответ Сент-Джон Джонсон прав. Но теперь вы можете также получить библиотеку php-cpp. Он предлагает гораздо более простой мост между PHP и C ++. См. http://www.php-cpp.com для получения дополнительной информации.
Вы можете скомпилировать свой код и использовать функции system, shell_exec или passthru для обработки вывода. Большинство веб-хостов позволяют вам скомпилировать код c ++, просто ssh на ваш сервер, загрузить код и скомпилировать его.
Вы можете использовать ZEND, чтобы подключить ваш C-код к PHP.
Другой вариант – иметь C-код как демон, всегда работающий, и скрипт php подключается к нему через сокеты домена unix или какую-то существующую библиотеку для обмена данными.
Больше информации здесь