diff options
author | Rasmus Lerdorf <rasmus@php.net> | 2001-09-06 23:32:59 +0000 |
---|---|---|
committer | Rasmus Lerdorf <rasmus@php.net> | 2001-09-06 23:32:59 +0000 |
commit | 6a2d84ba06c7a96f3df544dbd0e39b06460d430e (patch) | |
tree | 0c8f8118400878e375f586160cb03f1e76ac3593 /sapi/apache/sapi_apache.c | |
parent | 3c64473b717c6ab578720e93f02f36c7242a3baf (diff) | |
download | php-git-6a2d84ba06c7a96f3df544dbd0e39b06460d430e.tar.gz |
Oops, forgot to add sapi_apache.c to the apache_hooks branch
Diffstat (limited to 'sapi/apache/sapi_apache.c')
-rw-r--r-- | sapi/apache/sapi_apache.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/sapi/apache/sapi_apache.c b/sapi/apache/sapi_apache.c index 572d46ebff..0599863241 100644 --- a/sapi/apache/sapi_apache.c +++ b/sapi/apache/sapi_apache.c @@ -100,6 +100,40 @@ int apache_php_module_main(request_rec *r, int display_source_mode TSRMLS_DC) } /* }}} */ +/* {{{ apache_php_module_hook + */ +int apache_php_module_hook(request_rec *r, char *filename, zval **ret TSRMLS_DC) +{ + zend_file_handle file_handle; + +#if PHP_SIGCHILD + signal(SIGCHLD, sigchld_handler); +#endif + + if (php_request_startup_for_hook(TSRMLS_C) == FAILURE) { + return FAILURE; + } + + /* Add PHP_SELF_HOOK - Absolute path */ + php_register_variable("PHP_SELF_HOOK", filename, PG(http_globals)[TRACK_VARS_SERVER] TSRMLS_CC); + + file_handle.type = ZEND_HANDLE_FILENAME; + file_handle.handle.fd = 0; + file_handle.filename = filename; + file_handle.opened_path = NULL; + file_handle.free_filename = 0; + + (void) php_execute_simple_script(&file_handle, ret TSRMLS_CC); + + AP(in_request) = 0; + + zend_try { + php_request_shutdown_for_hook(NULL); + } zend_end_try(); + + return (OK); +} + /* * Local variables: * tab-width: 4 |