mirror of
https://github.com/php/php-src.git
synced 2025-08-17 22:48:57 +02:00
- Reverted r296062 and r296065
This commit is contained in:
parent
ea539c8b88
commit
af49e58f51
108 changed files with 3603 additions and 4297 deletions
|
@ -34,7 +34,7 @@ int apache_php_module_main(request_rec *r, int display_source_mode TSRMLS_DC)
|
|||
}
|
||||
/* sending a file handle to another dll is not working
|
||||
so let zend open it. */
|
||||
|
||||
|
||||
if (display_source_mode) {
|
||||
zend_syntax_highlighter_ini syntax_highlighter_ini;
|
||||
|
||||
|
@ -53,7 +53,7 @@ int apache_php_module_main(request_rec *r, int display_source_mode TSRMLS_DC)
|
|||
(void) php_execute_script(&file_handle TSRMLS_CC);
|
||||
}
|
||||
AP(in_request) = 0;
|
||||
|
||||
|
||||
return (OK);
|
||||
}
|
||||
/* }}} */
|
||||
|
@ -64,58 +64,59 @@ int apache_php_module_hook(request_rec *r, php_handler *handler, zval **ret TSRM
|
|||
{
|
||||
zend_file_handle file_handle;
|
||||
zval *req;
|
||||
char *tmp;
|
||||
char *tmp;
|
||||
|
||||
#if PHP_SIGCHILD
|
||||
signal(SIGCHLD, sigchld_handler);
|
||||
#endif
|
||||
if (AP(current_hook) == AP_RESPONSE) {
|
||||
if (php_request_startup_for_hook(TSRMLS_C) == FAILURE) {
|
||||
return FAILURE;
|
||||
}
|
||||
} else {
|
||||
if (php_request_startup_for_hook(TSRMLS_C) == FAILURE) {
|
||||
return FAILURE;
|
||||
}
|
||||
}
|
||||
if(AP(current_hook) == AP_RESPONSE) {
|
||||
if (php_request_startup_for_hook(TSRMLS_C) == FAILURE)
|
||||
return FAILURE;
|
||||
}
|
||||
else {
|
||||
if (php_request_startup_for_hook(TSRMLS_C) == FAILURE)
|
||||
return FAILURE;
|
||||
}
|
||||
|
||||
req = php_apache_request_new(r);
|
||||
if (PG(register_globals)) {
|
||||
php_register_variable_ex("request", req, NULL TSRMLS_CC);
|
||||
} else {
|
||||
php_register_variable_ex("request", req, PG(http_globals)[TRACK_VARS_SERVER] TSRMLS_CC);
|
||||
}
|
||||
switch(handler->type) {
|
||||
case AP_HANDLER_TYPE_FILE:
|
||||
php_register_variable("PHP_SELF_HOOK", handler->name, PG(http_globals)[TRACK_VARS_SERVER] TSRMLS_CC);
|
||||
memset(&file_handle, 0, sizeof(file_handle));
|
||||
file_handle.type = ZEND_HANDLE_FILENAME;
|
||||
file_handle.filename = handler->name;
|
||||
(void) php_execute_simple_script(&file_handle, ret TSRMLS_CC);
|
||||
break;
|
||||
case AP_HANDLER_TYPE_METHOD:
|
||||
if ( (tmp = strstr(handler->name, "::")) != NULL && *(tmp+2) != '\0' ) {
|
||||
zval *class;
|
||||
zval *method;
|
||||
*tmp = '\0';
|
||||
ALLOC_ZVAL(class);
|
||||
ZVAL_STRING(class, handler->name, 1);
|
||||
ALLOC_ZVAL(method);
|
||||
ZVAL_STRING(method, tmp +2, 1);
|
||||
*tmp = ':';
|
||||
call_user_function_ex(EG(function_table), &class, method, ret, 0, NULL, 0, NULL TSRMLS_CC);
|
||||
zval_dtor(class);
|
||||
zval_dtor(method);
|
||||
} else {
|
||||
php_error(E_ERROR, "Unable to call %s - not a Class::Method\n", handler->name);
|
||||
/* not a class::method */
|
||||
}
|
||||
break;
|
||||
default:
|
||||
/* not a valid type */
|
||||
assert(0);
|
||||
break;
|
||||
}
|
||||
if(PG(register_globals)) {
|
||||
php_register_variable_ex("request", req, NULL TSRMLS_CC);
|
||||
}
|
||||
else {
|
||||
php_register_variable_ex("request", req, PG(http_globals)[TRACK_VARS_SERVER] TSRMLS_CC);
|
||||
}
|
||||
switch(handler->type) {
|
||||
case AP_HANDLER_TYPE_FILE:
|
||||
php_register_variable("PHP_SELF_HOOK", handler->name, PG(http_globals)[TRACK_VARS_SERVER] TSRMLS_CC);
|
||||
memset(&file_handle, 0, sizeof(file_handle));
|
||||
file_handle.type = ZEND_HANDLE_FILENAME;
|
||||
file_handle.filename = handler->name;
|
||||
(void) php_execute_simple_script(&file_handle, ret TSRMLS_CC);
|
||||
break;
|
||||
case AP_HANDLER_TYPE_METHOD:
|
||||
if( (tmp = strstr(handler->name, "::")) != NULL && *(tmp+2) != '\0' ) {
|
||||
zval *class;
|
||||
zval *method;
|
||||
*tmp = '\0';
|
||||
ALLOC_ZVAL(class);
|
||||
ZVAL_STRING(class, handler->name, 1);
|
||||
ALLOC_ZVAL(method);
|
||||
ZVAL_STRING(method, tmp +2, 1);
|
||||
*tmp = ':';
|
||||
call_user_function_ex(EG(function_table), &class, method, ret, 0, NULL, 0, NULL TSRMLS_CC);
|
||||
zval_dtor(class);
|
||||
zval_dtor(method);
|
||||
}
|
||||
else {
|
||||
php_error(E_ERROR, "Unable to call %s - not a Class::Method\n", handler->name);
|
||||
/* not a class::method */
|
||||
}
|
||||
break;
|
||||
default:
|
||||
/* not a valid type */
|
||||
assert(0);
|
||||
break;
|
||||
}
|
||||
zval_dtor(req);
|
||||
AP(in_request) = 0;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue