Hello Friends,

I am developing a  .so file (shared module ) on linux 7.1 . I got  following
sample source code from www.php.net.
which I  saved  in Test.cpp file.
/* include standard header */
#include "php.h"

/* declaration of functions to be exported */
ZEND_FUNCTION(first_module);

/* compiled function list so Zend knows what's in this module */
zend_function_entry firstmod_functions[] =
{
    ZEND_FE(first_module, NULL)
    {NULL, NULL, NULL}
};

/* compiled module information */
zend_module_entry firstmod_module_entry =
{
    STANDARD_MODULE_HEADER,
    "First Module",
    firstmod_functions,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NO_VERSION_YET,
    STANDARD_MODULE_PROPERTIES
};

/* implement standard "stub" routine to introduce ourselves to Zend */
#if COMPILE_DL_FIRST_MODULE
ZEND_GET_MODULE(firstmod)
#endif

/* implement function that is meant to be made available to PHP */
ZEND_FUNCTION(first_module)
{
    long parameter;

    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &parameter) ==
FAILURE) {
        return;
    }

    RETURN_LONG(parameter);
}


I compliled it as follows:
g++ -fpic -DCOMPILE_DL=1 -I/usr/local/include -I. -I.. -I../Zend -c -o
Test.o Test.cpp
and linked it as:
g++ -shared -L/usr/local/lib -rdynamic -o LibTest.so Test.o
After executing these commands, I got a libTest.so library, that I copied
into /usr/lib/php4 directory.
Now problem is when I call it from .php file by using statement
dll("libTest.so);
I got a  warnning "Invalid library (maybe not a PHP library) 'libTest.so' in
/var/www/html/Test.php on line 6"
Help me.
I shall be very thankful.
Sanjay Chauhan




-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to