int type;
} php_per_dir_entry;
-php_apache_info_struct php_apache_info; /* active config */
-
/* some systems are missing these from their header files */
void php_save_umask(void)
ELS_FETCH();
CLS_FETCH();
PLS_FETCH();
+ APLS_FETCH();
if (setjmp(EG(bailout))!=0) {
return OK;
/* If PHP parser engine has been turned off with an "engine off"
* directive, then decline to handle this request
*/
- if (!php_apache_info.engine) {
+ if (!AP(engine)) {
r->content_type = php_apache_get_default_mimetype(r SLS_CC);
r->allowed |= (1 << METHODS) - 1;
return DECLINED;
return retval;
#endif
- if (php_apache_info.last_modified) {
+ if (AP(last_modified)) {
#if MODULE_MAGIC_NUMBER < 19970912
if ((retval = set_last_modified(r, r->finfo.st_mtime))) {
return retval;
} php_apache_info_struct;
extern zend_module_entry apache_module_entry;
+
+#ifdef ZTS
+extern int php_apache_info_id;
+#define APLS_D php_apache_info_struct *apache_globals
+#define AP(v) (apache_globals->v)
+#define APLS_FETCH() APLS_D = ts_resource(php_apache_info_id)
+#else
extern php_apache_info_struct php_apache_info;
+#define APLS_D
+#define AP(v) (php_apache_info.v)
+#define APLS_FETCH()
+#endif
+
#ifdef WIN32
#define S_IXUSR _S_IEXEC
#include "php_apache_http.h"
#include "http_request.h"
-static int php_apache_info_id;
+#ifdef ZTS
+int php_apache_info_id;
+#else
+php_apache_info_struct php_apache_info;
+#endif
#ifdef PHP_WIN32
#include "zend.h"
{NULL, NULL, NULL}
};
-#ifndef PHP_WIN32
+
PHP_INI_BEGIN()
STD_PHP_INI_ENTRY("xbithack", "0", PHP_INI_ALL, OnUpdateInt, xbithack, php_apache_info_struct, php_apache_info)
STD_PHP_INI_ENTRY("engine", "1", PHP_INI_ALL, OnUpdateInt, engine, php_apache_info_struct, php_apache_info)
STD_PHP_INI_ENTRY("last_modified", "0", PHP_INI_ALL, OnUpdateInt, last_modified, php_apache_info_struct, php_apache_info)
PHP_INI_END()
+
static PHP_MINIT_FUNCTION(apache)
{
+#ifdef ZTS
+ php_apache_info_id = ts_allocate_id(sizeof(php_apache_info_struct), NULL, NULL);
+#endif
REGISTER_INI_ENTRIES();
return SUCCESS;
}
+
static PHP_MSHUTDOWN_FUNCTION(apache)
{
UNREGISTER_INI_ENTRIES();
return SUCCESS;
}
+
zend_module_entry apache_module_entry = {
"apache", apache_functions, PHP_MINIT(apache), PHP_MSHUTDOWN(apache), NULL, NULL, PHP_MINFO(apache), STANDARD_MODULE_PROPERTIES
};
-#else
-zend_module_entry apache_module_entry = {
- "apache", apache_functions, NULL, NULL, NULL, NULL, PHP_MINFO(apache), STANDARD_MODULE_PROPERTIES
-};
-#endif
-
/* {{{ proto string apache_note(string note_name [, string note_value])
Get and set Apache request notes */