humm, thank you, finaly someone that did something of that kind :) well, i want it as a dynamic extension that i could redistribute and which wouldn't necessits recompilation, just adding it in php.in does what you told still would works in this case ? On Tuesday 26 October 2004 06:47, Robert Cummings wrote: > On Tue, 2004-10-26 at 00:37, Pierre Ancelot wrote: > > in fact i got it in the ./configure --help : > > > > pierre@debian:~/phpsource/php-4.3.9$ ./configure --help | grep -i spider > > --enable-spider Enable spider support > > pierre@debian:~/phpsource/php-4.3.9$ > > > > which is okay. but if i run make, i got a few lines about it like : > > > > gcc -Iext/spider/ -I/home/pierre/phpsource/php-4.3.9/ext/spider/ > > -DPHP_ATOM_INC -I/home/pierre/phpsource/php-4.3.9/include > > -I/home/pierre/phpsource/php-4.3.9/main > > -I/home/pierre/phpsource/php-4.3.9 > > -I/home/pierre/phpsource/php-4.3.9/Zend > > -I/home/pierre/phpsource/php-4.3.9/ext/xml/expat > > -I/home/pierre/phpsource/php-4.3.9/TSRM -g -O2 > > -c /home/pierre/phpsource/php-4.3.9/ext/spider/spider.c -o > > ext/spider/spider.o && echo > ext/spider/spider.lo > > > > and it goes without any error about my module. > > so, as the tutorial specifies it, i run the script created with my > > extension : > > > > pierre@debian:~/phpsource/php-4.3.9$ php -f ext/spider/spider.php > > > > Warning: dl(): Unable to load dynamic library > > '/usr/lib/php4/20020429/spider.so' - /usr/lib/php4/20020429/spider.so: > > cannot open shared object file: No such file or directory > > in /home/pierre/phpsource/php-4.3.9/ext/spider/spider.php on line 3 > > Functions available in the test extension:<br> > > > > Warning: Invalid argument supplied for foreach() > > in /home/pierre/phpsource/php-4.3.9/ext/spider/spider.php on line 8 > > <br> > > Module spider is not compiled into PHP > > pierre@debian:~/phpsource/php-4.3.9$ > > > > after checking, i see this: > > > > pierre@debian:~/phpsource/php-4.3.9$ ls ext/spider/ > > CREDITS EXPERIMENTAL config.m4 php_spider.h spider.c spider.lo > > spider.o spider.php tests > > pierre@debian:~/phpsource/php-4.3.9$ > > > > The module is NOT created :'( > > Did i forget something in config.m4 ??? > > something i didn't get in the tutorial ??? > > http://www.php.net/manual/fr/zend.build.php > > no idea... > > The 'make' command does not compile shared object extensions. You need > to do something different for that. However if PHP compiled properly > with the extension enabled then you shouldn't need to load your > extension via dl() since it should already be a part of the PHP binary. > > That said, if you still wish to compile a shared object module of your > extension then you can run this from the PHP source directory (with > suitable changes for your extension): > > cc -fpic -DCOMPILE_DL_INTERJINN=1 \ > -Iext/interjinn/ -Iinclude -Imain -I. -IZend -ITSRM \ > -c -o ext/interjinn/interjinn.o ext/interjinn/interjinn.c > > cc -shared -L/usr/local/lib -rdynamic -o \ > ext/interjinn/interjinn.so \ > ext/interjinn/interjinn.o > > I don't recall if it's necessary, but I compile PHP as a CGI binary > first and then run the above commands. If you want to allow support for > your extension as both a dl()'d module or as a built-in extension, then > you can check for the existence of one of your modules functions with > function_exists() and if it doesn't exist then use dl() to try and load > the shared module. > > HTH, > Rob. > -- > .------------------------------------------------------------. > > | InterJinn Application Framework - http://www.interjinn.com | > | > :------------------------------------------------------------: > : > | An application and templating framework for PHP. Boasting | > | a powerful, scalable system for accessing system services | > | such as forms, properties, sessions, and caches. InterJinn | > | also provides an extremely flexible architecture for | > | creating re-usable components quickly and easily. | > > `------------------------------------------------------------' -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php