summaryrefslogtreecommitdiff
path: root/sapi/apache/sapi_apache.c
diff options
context:
space:
mode:
authorRasmus Lerdorf <rasmus@php.net>2001-09-06 23:32:59 +0000
committerRasmus Lerdorf <rasmus@php.net>2001-09-06 23:32:59 +0000
commit6a2d84ba06c7a96f3df544dbd0e39b06460d430e (patch)
tree0c8f8118400878e375f586160cb03f1e76ac3593 /sapi/apache/sapi_apache.c
parent3c64473b717c6ab578720e93f02f36c7242a3baf (diff)
downloadphp-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.c34
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