I’m starting with PHP for dynamic web pages. I have some libraries written in ANSI C for getting/setting parameters and other proprietary stuff. I wonder, is there a simple solution to use a wrapper inside PHP to call this functions? Is there a already existing class/library? What would be the best practice to do this on my own? I don’t want do make calls to external applications and use stdin/stdout!
Is there a simple example available? I don’t want to dig through the Zend documentation for now, I only need a feeling for the complexity.
Can you package your libraries into a DLL? If so, you can call them through PHP’s COM api.
PHP COM Docs:
https://www.php.net/manual/en/book.com.php
Example Code:
Otherwise you can write a extension that contains a custom wrapper function (ie, execute_through_wrapper(‘yourfunc’)). Here is a doc on writing php functions in C.
http://php.net/manual/en/internals2.funcs.php
Edit:
http://abhinavsingh.com/blog/2008/12/php-extensions-how-and-why/
Here is a quick tutorial on writing extensions in C. It shouldn’t be too difficult to write a wrapper function. Once you created the extension, it can be loaded dynamically through
dl()(very dangerous, and depreciated).https://www.php.net/manual/en/function.dl.php
Those are the only options in your case. There isn’t a linux equivalent (.so loader) of the dll loader (its a win32-related api call).