Как вызвать функцию из .so-файла, используя php-скрипт?

Я создал файл .so для следующей функции:

main.cpp:

#include<stdio.h> #include "test.h" int main() { int a=hello(); printf("%d",a); return 0; } 

test.h

 int test() { int a=5,b=10,c; printf("Hi"); c=a+b; return c; } 

Теперь я создаю файл общей библиотеки main.so для вышеуказанной программы и хочу вызвать функцию hell () из php-скрипта.

p1.php

 <?php // Call to test function in main.cpp > 

Я видел различные учебные пособия в Интернете, но не дал ясного объяснения. Может ли кто-нибудь дать ссылку на какой-то учебник или помочь мне в этом вопросе?

Solutions Collecting From Web of "Как вызвать функцию из .so-файла, используя php-скрипт?"

Книга Сары Големан – отличное, полное освещение того, как разрабатывать расширения PHP (включая вашу тему).

Вот вступительная статья.

http://devzone.zend.com/303/extension-writing-part-i-introduction-to-php-and-zend/

Я прочитал ее книгу, и она полностью охватывает этот вопрос.

http://www.amazon.com/dp/067232704X

Прошу прощения, если это не быстрый и легкий ответ. Однако API PHP не совсем прямолинейный. Это не имело никакого смысла без дополнительной справочной информации по каждому из компонентов. Как только у меня это получилось, я смог четко увидеть разработку PHP API.

В качестве альтернативы, если вы ищете другой подход, использование RabbitMQ или другой службы очереди сообщений может быть желательным для вызова приложения c ++ и отправки сообщений назад и вперед из (необязательно) постоянного процесса c ++.

Вот некоторые дополнительные ссылки, которые я нашел полезными:

http://devzone.zend.com/1435/wrapping-c-classes-in-a-php-extension/

http://talks.somabo.de/200903_montreal_php_extension_writing.pdf

http://simonholywell.com/post/2010/09/15-excellent-resources-for-php-extension-development.html

http://blog.golemon.com/2006/06/what-heck-is-tsrmlscc-anyway.html

http://www.php.net/manual/en/internals2.php