hi
 
i use these two commands to compile the extension
cc -fpic -DPTHREADS -DZEND_DEBUG=0 -DZTS=1 -DCOMPILE_DL=1 -I/usr/local/include -I/usr/local/include/php/ext/standard -I/usr/local/include/php -I/usr/local/include/php/main -I cimd/cimd_lib/ -I /usr/local/include/php/TSRM -I/usr/local/include/php/Zend -c -o cimd.o cimd/cimd.cpp
cc -shared -rdynamic -L/usr/local/lib/php -o cimd.so cimd.o
 
the compilation returns a success, but if i run a little php script to load my extension with the dl() function or if i load it in the php.ini file this error message is printed: "Warning: Invalid library (maybe not a PHP library) 'cimd.so'"
 
nm cimd.so | grep module
 
prints followed lines out
=============== output ================
00001b00 D firstmod_module_entry
00000928 T _Z10get_modulev
00000940 T _Z16zif_first_moduleiP12_zval_structS0_i
====================================
 
can you help me ?
i searched the whole php-dev newsgroup and many people have the same problem.
 
 
my php version is 4.2.2
gcc version 2.96-81
 
========================== CODE BEGIN ===========================
#include "php.h"
#include "php_config.h"
#include "info.h"
 
/* All the functions that will be exported (available) must be declared */
ZEND_FUNCTION(hello_world);
PHP_MINFO_FUNCTION(devarticlesmod);
 
/* Just a basic int to be used as a counter*/
int i;
 
/* function list so that the Zend engine will know what’s here */
zend_function_entry devarticlesmod_functions[] =
{
ZEND_FE(hello_world, NULL)
{NULL, NULL, NULL}
};
 
/* module information */
zend_module_entry devarticlesmod_module_entry =
{ STANDARD_MODULE_HEADER,
"DevArticles",
devarticlesmod_functions,
NULL,
NULL,
NULL,
NULL,
PHP_MINFO(devarticlesmod),
NO_VERSION_YET,
STANDARD_MODULE_PROPERTIES };
 
ZEND_GET_MODULE(devarticlesmod)
 
PHP_MINFO_FUNCTION(devarticlesmod)
{
php_info_print_table_start();
php_info_print_table_row(2, "DevArticles Extension", "All Systems Go");
php_info_print_table_end();
}
 
ZEND_FUNCTION(hello_world)
{
 
for(i=0;i<5;i++)
{
zend_printf("Hello World<br>");
}
}
=================================== CODE END ==================================

Reply via email to