Can we call Apache 2 API function from a PHP 5 extension module?
| From: | rwe rt | Date: | Sun, 17 Jan 2010 00:25:12 +0000 |
| Subject: | Can we call Apache 2 API function from a PHP 5 extension module? | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-46759@lists.php.net to get a copy of this message | ||
Hi all,I compiled php-5.3.1 with apache 2.2.14 as DSO and wanted to test how to call Apache API
from a PHP module:Run ./ext_skel --extname=helloModified ext/hello.c and the function
PHP_FUNCTION(confirm_hello_compiled) so that it contains
#include "SAPI.h"
#include "httpd.h"
#include "http_config.h"
#include "http_protocol.h"
#include "ap_config.h"
request_rec *hello_r;PHP_FUNCTION(confirm_hello_compiled) { hello_r = (request_rec
*)SG(server_context); ap_rprintf(hello_r, "Hello world\n"); return SUCCESS;
}Under php root, run ./buildconf and ./configure --with-apxs=/home/www/bin/apxs --enable-helloIt
worked fine. But when I furhter ran:
makeI got an error like:....ext/hello/.libs/hello.o: In function zif_confirm_hello_compiled':
/home/www/php-5.3.1/ext/hello/hello.c:167: undefined reference toap_rprintf'near the end of
compiling.As far as I know, PHP 5 can only be compiled as DSO and don't have access to compiled
objects in Apache 2 directly. How to modify config.m4 or other files so that I can make compiling
successful? Any help would be greatly appreciated!Rwe
__________________________________________________________________
Be smarter than spam. See how smart SpamGuard is at giving junk email the boot with the All-new
Yahoo! Mail. Click on Options in Mail and switch to New Mail today or register for free at http://mail.yahoo.ca