diff options
Diffstat (limited to 'sapi/apache2handler')
| -rw-r--r-- | sapi/apache2handler/apache_config.c | 2 | ||||
| -rw-r--r-- | sapi/apache2handler/config.m4 | 12 | ||||
| -rw-r--r-- | sapi/apache2handler/config.w32 | 6 | ||||
| -rw-r--r-- | sapi/apache2handler/mod_php.c (renamed from sapi/apache2handler/mod_php7.c) | 4 | ||||
| -rw-r--r-- | sapi/apache2handler/php.sym | 2 | ||||
| -rw-r--r-- | sapi/apache2handler/php_apache.h | 6 | ||||
| -rw-r--r-- | sapi/apache2handler/php_functions.c | 77 | ||||
| -rw-r--r-- | sapi/apache2handler/php_functions.stub.php | 24 | ||||
| -rw-r--r-- | sapi/apache2handler/php_functions_arginfo.h | 63 | ||||
| -rw-r--r-- | sapi/apache2handler/sapi_apache2.c | 8 |
10 files changed, 115 insertions, 89 deletions
diff --git a/sapi/apache2handler/apache_config.c b/sapi/apache2handler/apache_config.c index d0913c250e..b7e0077d2d 100644 --- a/sapi/apache2handler/apache_config.c +++ b/sapi/apache2handler/apache_config.c @@ -1,7 +1,5 @@ /* +----------------------------------------------------------------------+ - | PHP Version 7 | - +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | diff --git a/sapi/apache2handler/config.m4 b/sapi/apache2handler/config.m4 index 55c16179b8..67c6d9beea 100644 --- a/sapi/apache2handler/config.m4 +++ b/sapi/apache2handler/config.m4 @@ -67,20 +67,20 @@ if test "$PHP_APXS2" != "no"; then if test -z `$APXS -q SYSCONFDIR`; then INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \ $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \ - -i -n php7" + -i -n php" else APXS_SYSCONFDIR='$(INSTALL_ROOT)'`$APXS -q SYSCONFDIR` INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \ \$(mkinstalldirs) '$APXS_SYSCONFDIR' && \ $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \ -S SYSCONFDIR='$APXS_SYSCONFDIR' \ - -i -a -n php7" + -i -a -n php" fi case $host_alias in *aix*) EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-brtl -Wl,-bI:$APXS_LIBEXECDIR/httpd.exp" - PHP_SELECT_SAPI(apache2handler, shared, mod_php7.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) + PHP_SELECT_SAPI(apache2handler, shared, mod_php.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) INSTALL_IT="$INSTALL_IT $SAPI_LIBTOOL" ;; *darwin*) @@ -95,12 +95,12 @@ if test "$PHP_APXS2" != "no"; then fi MH_BUNDLE_FLAGS="-bundle -bundle_loader $APXS_HTTPD $MH_BUNDLE_FLAGS" PHP_SUBST(MH_BUNDLE_FLAGS) - PHP_SELECT_SAPI(apache2handler, bundle, mod_php7.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) - SAPI_SHARED=libs/libphp7.so + PHP_SELECT_SAPI(apache2handler, bundle, mod_php.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) + SAPI_SHARED=libs/libphp.so INSTALL_IT="$INSTALL_IT $SAPI_SHARED" ;; *) - PHP_SELECT_SAPI(apache2handler, shared, mod_php7.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) + PHP_SELECT_SAPI(apache2handler, shared, mod_php.c sapi_apache2.c apache_config.c php_functions.c, $APACHE_CFLAGS) INSTALL_IT="$INSTALL_IT $SAPI_LIBTOOL" ;; esac diff --git a/sapi/apache2handler/config.w32 b/sapi/apache2handler/config.w32 index 45d6353d28..12dd50332a 100644 --- a/sapi/apache2handler/config.w32 +++ b/sapi/apache2handler/config.w32 @@ -10,7 +10,7 @@ if (PHP_APACHE2HANDLER != "no") { CHECK_LIB("libapr.lib", "apache2handler", PHP_PHP_BUILD + "\\lib\\apache2") && CHECK_LIB("libaprutil.lib", "apache2handler", PHP_PHP_BUILD + "\\lib\\apache2") ) { - SAPI('apache2handler', 'mod_php7.c sapi_apache2.c apache_config.c php_functions.c', + SAPI('apache2handler', 'mod_php.c sapi_apache2.c apache_config.c php_functions.c', 'php' + PHP_VERSION + 'apache2.dll', '/D PHP_APACHE2_EXPORTS /I win32 /DZEND_ENABLE_STATIC_TSRMLS_CACHE=1'); } else { @@ -28,7 +28,7 @@ if (PHP_APACHE2_2HANDLER != "no") { CHECK_LIB("libapr-1.lib", "apache2_2handler", PHP_PHP_BUILD + "\\lib\\apache2_2") && CHECK_LIB("libaprutil-1.lib", "apache2_2handler", PHP_PHP_BUILD + "\\lib\\apache2_2") ) { - SAPI('apache2_2handler', 'mod_php7.c sapi_apache2.c apache_config.c php_functions.c', + SAPI('apache2_2handler', 'mod_php.c sapi_apache2.c apache_config.c php_functions.c', 'php' + PHP_VERSION + 'apache2_2.dll', '/D PHP_APACHE2_EXPORTS /I win32 /DZEND_ENABLE_STATIC_TSRMLS_CACHE=1', 'sapi\\apache2_2handler'); @@ -46,7 +46,7 @@ if (PHP_APACHE2_4HANDLER != "no") { CHECK_LIB("libapr-1.lib", "apache2_4handler", PHP_PHP_BUILD + "\\lib\\apache2_4") && CHECK_LIB("libaprutil-1.lib", "apache2_4handler", PHP_PHP_BUILD + "\\lib\\apache2_4") ) { - SAPI('apache2_4handler', 'mod_php7.c sapi_apache2.c apache_config.c php_functions.c', + SAPI('apache2_4handler', 'mod_php.c sapi_apache2.c apache_config.c php_functions.c', 'php' + PHP_VERSION + 'apache2_4.dll', '/D PHP_APACHE2_EXPORTS /I win32 /DZEND_ENABLE_STATIC_TSRMLS_CACHE=1', 'sapi\\apache2handler'); diff --git a/sapi/apache2handler/mod_php7.c b/sapi/apache2handler/mod_php.c index 6c44dbaa2c..835c5f5c90 100644 --- a/sapi/apache2handler/mod_php7.c +++ b/sapi/apache2handler/mod_php.c @@ -1,7 +1,5 @@ /* +----------------------------------------------------------------------+ - | PHP Version 7 | - +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | @@ -23,7 +21,7 @@ #include "php.h" #include "php_apache.h" -AP_MODULE_DECLARE_DATA module php7_module = { +AP_MODULE_DECLARE_DATA module php_module = { STANDARD20_MODULE_STUFF, create_php_config, /* create per-directory config structure */ merge_php_config, /* merge per-directory config structures */ diff --git a/sapi/apache2handler/php.sym b/sapi/apache2handler/php.sym index 1469b0314d..571f27e01c 100644 --- a/sapi/apache2handler/php.sym +++ b/sapi/apache2handler/php.sym @@ -1 +1 @@ -php7_module +php_module diff --git a/sapi/apache2handler/php_apache.h b/sapi/apache2handler/php_apache.h index 423ada1f9b..d6c67c8a8d 100644 --- a/sapi/apache2handler/php_apache.h +++ b/sapi/apache2handler/php_apache.h @@ -1,7 +1,5 @@ /* +----------------------------------------------------------------------+ - | PHP Version 7 | - +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | @@ -29,11 +27,11 @@ /* Enable per-module logging in Apache 2.4+ */ #ifdef APLOG_USE_MODULE -APLOG_USE_MODULE(php7); +APLOG_USE_MODULE(php); #endif /* Declare this so we can get to it from outside the sapi_apache2.c file */ -extern module AP_MODULE_DECLARE_DATA php7_module; +extern module AP_MODULE_DECLARE_DATA php_module; /* A way to specify the location of the php.ini dir in an apache directive */ extern char *apache2_php_ini_path_override; diff --git a/sapi/apache2handler/php_functions.c b/sapi/apache2handler/php_functions.c index c82b93f965..ae0a8553b4 100644 --- a/sapi/apache2handler/php_functions.c +++ b/sapi/apache2handler/php_functions.c @@ -1,7 +1,5 @@ /* +----------------------------------------------------------------------+ - | PHP Version 7 | - +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | @@ -45,6 +43,7 @@ #endif #include "php_apache.h" +#include "php_functions_arginfo.h" #ifdef ZTS int php_apache2_info_id; @@ -74,7 +73,7 @@ PHP_FUNCTION(virtual) request_rec *rr; if (zend_parse_parameters(ZEND_NUM_ARGS(), "p", &filename, &filename_len) == FAILURE) { - return; + RETURN_THROWS(); } if (!(rr = php_apache_lookup_uri(filename))) { @@ -120,7 +119,7 @@ PHP_FUNCTION(apache_lookup_uri) size_t filename_len; if (zend_parse_parameters(ZEND_NUM_ARGS(), "p", &filename, &filename_len) == FAILURE) { - return; + RETURN_THROWS(); } if (!(rr = php_apache_lookup_uri(filename))) { @@ -175,7 +174,7 @@ PHP_FUNCTION(apache_request_headers) char *key, *val; if (zend_parse_parameters_none() == FAILURE) { - return; + RETURN_THROWS(); } array_init(return_value); @@ -199,7 +198,7 @@ PHP_FUNCTION(apache_response_headers) char *key, *val; if (zend_parse_parameters_none() == FAILURE) { - return; + RETURN_THROWS(); } array_init(return_value); @@ -224,7 +223,7 @@ PHP_FUNCTION(apache_note) char *old_note_val=NULL; if (zend_parse_parameters(ZEND_NUM_ARGS(), "s|s", ¬e_name, ¬e_name_len, ¬e_val, ¬e_val_len) == FAILURE) { - return; + RETURN_THROWS(); } ctx = SG(server_context); @@ -258,7 +257,7 @@ PHP_FUNCTION(apache_setenv) request_rec *r; if (zend_parse_parameters(arg_count, "ss|b", &variable, &variable_len, &string_val, &string_val_len, &walk_to_top) == FAILURE) { - return; + RETURN_THROWS(); } ctx = SG(server_context); @@ -294,7 +293,7 @@ PHP_FUNCTION(apache_getenv) request_rec *r; if (zend_parse_parameters(arg_count, "s|b", &variable, &variable_len, &walk_to_top) == FAILURE) { - return; + RETURN_THROWS(); } ctx = SG(server_context); @@ -477,62 +476,10 @@ PHP_MINFO_FUNCTION(apache) } } -/* {{{ arginfo */ -ZEND_BEGIN_ARG_INFO_EX(arginfo_apache2handler_lookup_uri, 0, 0, 1) - ZEND_ARG_INFO(0, filename) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_apache2handler_virtual, 0, 0, 1) - ZEND_ARG_INFO(0, uri) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_apache2handler_response_headers, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_apache2handler_getallheaders, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_apache2handler_note, 0, 0, 1) - ZEND_ARG_INFO(0, note_name) - ZEND_ARG_INFO(0, note_value) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_apache2handler_setenv, 0, 0, 2) - ZEND_ARG_INFO(0, variable) - ZEND_ARG_INFO(0, value) - ZEND_ARG_INFO(0, walk_to_top) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_apache2handler_getenv, 0, 0, 1) - ZEND_ARG_INFO(0, variable) - ZEND_ARG_INFO(0, walk_to_top) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_apache2handler_get_version, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_apache2handler_get_modules, 0) -ZEND_END_ARG_INFO() -/* }}} */ - -static const zend_function_entry apache_functions[] = { - PHP_FE(apache_lookup_uri, arginfo_apache2handler_lookup_uri) - PHP_FE(virtual, arginfo_apache2handler_virtual) - PHP_FE(apache_request_headers, arginfo_apache2handler_getallheaders) - PHP_FE(apache_response_headers, arginfo_apache2handler_response_headers) - PHP_FE(apache_setenv, arginfo_apache2handler_setenv) - PHP_FE(apache_getenv, arginfo_apache2handler_getenv) - PHP_FE(apache_note, arginfo_apache2handler_note) - PHP_FE(apache_get_version, arginfo_apache2handler_get_version) - PHP_FE(apache_get_modules, arginfo_apache2handler_get_modules) - PHP_FALIAS(getallheaders, apache_request_headers, arginfo_apache2handler_getallheaders) - {NULL, NULL, NULL} -}; - PHP_INI_BEGIN() - STD_PHP_INI_ENTRY("xbithack", "0", PHP_INI_ALL, OnUpdateBool, xbithack, php_apache2_info_struct, php_apache2_info) - STD_PHP_INI_ENTRY("engine", "1", PHP_INI_ALL, OnUpdateBool, engine, php_apache2_info_struct, php_apache2_info) - STD_PHP_INI_ENTRY("last_modified", "0", PHP_INI_ALL, OnUpdateBool, last_modified, php_apache2_info_struct, php_apache2_info) + STD_PHP_INI_BOOLEAN("xbithack", "0", PHP_INI_ALL, OnUpdateBool, xbithack, php_apache2_info_struct, php_apache2_info) + STD_PHP_INI_BOOLEAN("engine", "1", PHP_INI_ALL, OnUpdateBool, engine, php_apache2_info_struct, php_apache2_info) + STD_PHP_INI_BOOLEAN("last_modified", "0", PHP_INI_ALL, OnUpdateBool, last_modified, php_apache2_info_struct, php_apache2_info) PHP_INI_END() static PHP_MINIT_FUNCTION(apache) @@ -553,7 +500,7 @@ static PHP_MSHUTDOWN_FUNCTION(apache) zend_module_entry php_apache_module = { STANDARD_MODULE_HEADER, "apache2handler", - apache_functions, + ext_functions, PHP_MINIT(apache), PHP_MSHUTDOWN(apache), NULL, diff --git a/sapi/apache2handler/php_functions.stub.php b/sapi/apache2handler/php_functions.stub.php new file mode 100644 index 0000000000..391600be6c --- /dev/null +++ b/sapi/apache2handler/php_functions.stub.php @@ -0,0 +1,24 @@ +<?php + +/** @generate-function-entries */ + +function apache_lookup_uri(string $filename): object|false {} + +function virtual(string $uri): bool {} + +function apache_request_headers(): array {} + +/** @alias apache_request_headers */ +function getallheaders(): array {} + +function apache_response_headers(): array {} + +function apache_note(string $note_name, string $note_value = UNKNOWN): string|false {} + +function apache_setenv(string $variable, string $value, bool $walk_to_top = false): bool {} + +function apache_getenv(string $variable, bool $walk_to_top = false): string|false {} + +function apache_get_version(): string|false {} + +function apache_get_modules(): array {} diff --git a/sapi/apache2handler/php_functions_arginfo.h b/sapi/apache2handler/php_functions_arginfo.h new file mode 100644 index 0000000000..739afbbc8b --- /dev/null +++ b/sapi/apache2handler/php_functions_arginfo.h @@ -0,0 +1,63 @@ +/* This is a generated file, edit the .stub.php file instead. */ + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_apache_lookup_uri, 0, 1, MAY_BE_OBJECT|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_virtual, 0, 1, _IS_BOOL, 0) + ZEND_ARG_TYPE_INFO(0, uri, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_apache_request_headers, 0, 0, IS_ARRAY, 0) +ZEND_END_ARG_INFO() + +#define arginfo_getallheaders arginfo_apache_request_headers + +#define arginfo_apache_response_headers arginfo_apache_request_headers + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_apache_note, 0, 1, MAY_BE_STRING|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, note_name, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, note_value, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_apache_setenv, 0, 2, _IS_BOOL, 0) + ZEND_ARG_TYPE_INFO(0, variable, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, walk_to_top, _IS_BOOL, 0, "false") +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_apache_getenv, 0, 1, MAY_BE_STRING|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, variable, IS_STRING, 0) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, walk_to_top, _IS_BOOL, 0, "false") +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_apache_get_version, 0, 0, MAY_BE_STRING|MAY_BE_FALSE) +ZEND_END_ARG_INFO() + +#define arginfo_apache_get_modules arginfo_apache_request_headers + + +ZEND_FUNCTION(apache_lookup_uri); +ZEND_FUNCTION(virtual); +ZEND_FUNCTION(apache_request_headers); +ZEND_FUNCTION(apache_response_headers); +ZEND_FUNCTION(apache_note); +ZEND_FUNCTION(apache_setenv); +ZEND_FUNCTION(apache_getenv); +ZEND_FUNCTION(apache_get_version); +ZEND_FUNCTION(apache_get_modules); + + +static const zend_function_entry ext_functions[] = { + ZEND_FE(apache_lookup_uri, arginfo_apache_lookup_uri) + ZEND_FE(virtual, arginfo_virtual) + ZEND_FE(apache_request_headers, arginfo_apache_request_headers) + ZEND_FALIAS(getallheaders, apache_request_headers, arginfo_getallheaders) + ZEND_FE(apache_response_headers, arginfo_apache_response_headers) + ZEND_FE(apache_note, arginfo_apache_note) + ZEND_FE(apache_setenv, arginfo_apache_setenv) + ZEND_FE(apache_getenv, arginfo_apache_getenv) + ZEND_FE(apache_get_version, arginfo_apache_get_version) + ZEND_FE(apache_get_modules, arginfo_apache_get_modules) + ZEND_FE_END +}; diff --git a/sapi/apache2handler/sapi_apache2.c b/sapi/apache2handler/sapi_apache2.c index 1cc5670eaa..b2f32ce49a 100644 --- a/sapi/apache2handler/sapi_apache2.c +++ b/sapi/apache2handler/sapi_apache2.c @@ -1,7 +1,5 @@ /* +----------------------------------------------------------------------+ - | PHP Version 7 | - +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | @@ -55,7 +53,7 @@ #define PHP_MAGIC_TYPE "application/x-httpd-php" #define PHP_SOURCE_MAGIC_TYPE "application/x-httpd-php-source" -#define PHP_SCRIPT "php7-script" +#define PHP_SCRIPT "php-script" /* A way to specify the location of the php.ini dir in an apache directive */ char *apache2_php_ini_path_override = NULL; @@ -551,7 +549,7 @@ typedef struct { HashTable config; } php_conf_rec; zend_string *str; - php_conf_rec *c = ap_get_module_config(r->per_dir_config, &php7_module); + php_conf_rec *c = ap_get_module_config(r->per_dir_config, &php_module); ZEND_HASH_FOREACH_STR_KEY(&c->config, str) { zend_restore_ini_entry(str, ZEND_INI_STAGE_SHUTDOWN); @@ -582,7 +580,7 @@ static int php_handler(request_rec *r) #define PHPAP_INI_OFF php_apache_ini_dtor(r, parent_req); - conf = ap_get_module_config(r->per_dir_config, &php7_module); + conf = ap_get_module_config(r->per_dir_config, &php_module); /* apply_config() needs r in some cases, so allocate server_context early */ ctx = SG(server_context); |
