php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
php_apache.h
Go to the documentation of this file.
1/*
2 +----------------------------------------------------------------------+
3 | Copyright (c) The PHP Group |
4 +----------------------------------------------------------------------+
5 | This source file is subject to version 3.01 of the PHP license, |
6 | that is bundled with this package in the file LICENSE, and is |
7 | available through the world-wide-web at the following url: |
8 | https://www.php.net/license/3_01.txt |
9 | If you did not receive a copy of the PHP license and are unable to |
10 | obtain it through the world-wide-web, please send a note to |
11 | license@php.net so we can mail you a copy immediately. |
12 +----------------------------------------------------------------------+
13 | Author: Sascha Schumann <sascha@schumann.cx> |
14 +----------------------------------------------------------------------+
15 */
16
17#ifndef PHP_APACHE_H
18#define PHP_APACHE_H
19
20#include "httpd.h"
21#include "http_config.h"
22#include "http_core.h"
23#include "http_log.h"
24
25#include "php.h"
26#include "main/php_streams.h"
27
28/* Enable per-module logging. */
30
31/* Declare this so we can get to it from outside the sapi_apache2.c file */
32extern module AP_MODULE_DECLARE_DATA php_module;
33
34/* A way to specify the location of the php.ini dir in an apache directive */
36
37/* The server_context used by PHP */
38typedef struct php_struct {
39 int state;
40 request_rec *r;
41 apr_bucket_brigade *brigade;
42 /* stat structure of the current file */
44 /* Whether or not we've processed PHP in the output filters yet. */
46 /* final content type */
49
50void *merge_php_config(apr_pool_t *p, void *base_conf, void *new_conf);
51void *create_php_config(apr_pool_t *p, char *dummy);
52char *get_php_config(void *conf, char *name, size_t name_len);
53void apply_config(void *);
54extern const command_rec php_dir_cmds[];
55void php_ap2_register_hook(apr_pool_t *p);
56
57#define APR_ARRAY_FOREACH_OPEN(arr, key, val) \
58{ \
59 apr_table_entry_t *elts; \
60 int i; \
61 elts = (apr_table_entry_t *) arr->elts; \
62 for (i = 0; i < arr->nelts; i++) { \
63 key = elts[i].key; \
64 val = elts[i].val;
65
66#define APR_ARRAY_FOREACH_CLOSE() }}
67
68typedef struct {
69 bool engine;
73
75
76#ifdef ZTS
77extern int php_apache2_info_id;
78#define AP2(v) ZEND_TSRMG(php_apache2_info_id, php_apache2_info_struct *, v)
80#else
82#define AP2(v) (php_apache2_info.v)
83#endif
84
85/* fix for gcc4 visibility patch */
86#ifndef PHP_WIN32
87# undef AP_MODULE_DECLARE_DATA
88# define AP_MODULE_DECLARE_DATA PHPAPI
89#endif
90
91#endif /* PHP_APACHE_H */
const command_rec php_dir_cmds[]
char * apache2_php_ini_path_override
void apply_config(void *)
zend_module_entry apache2_module_entry
APLOG_USE_MODULE(php)
char * get_php_config(void *conf, char *name, size_t name_len)
void * merge_php_config(apr_pool_t *p, void *base_conf, void *new_conf)
void php_ap2_register_hook(apr_pool_t *p)
void * create_php_config(apr_pool_t *p, char *dummy)
php_apache2_info_struct php_apache2_info
p
Definition session.c:1105
char * content_type
Definition php_apache.h:47
apr_bucket_brigade * brigade
Definition php_apache.h:41
request_rec * r
Definition php_apache.h:40
zend_stat_t finfo
Definition php_apache.h:43
int request_processed
Definition php_apache.h:45
#define ZEND_TSRMLS_CACHE_EXTERN()
Definition zend.h:67
struct _zend_module_entry zend_module_entry
struct stat zend_stat_t
Definition zend_stream.h:94
zend_string * name