From 59dfd98677886d418bda90ac5291ba8dea638dc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= Date: Wed, 8 Aug 2012 21:12:57 +0200 Subject: [PATCH 1/3] Fix per-module logging in apache 2.4 --- sapi/apache2filter/sapi_apache2.c | 3 +++ sapi/apache2handler/mod_php5.c | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/sapi/apache2filter/sapi_apache2.c b/sapi/apache2filter/sapi_apache2.c index 0b51cfbe62f3..a8fec5cd8732 100644 --- a/sapi/apache2filter/sapi_apache2.c +++ b/sapi/apache2filter/sapi_apache2.c @@ -744,6 +744,9 @@ static size_t php_apache_fsizer_stream(void *handle TSRMLS_DC) return 0; } +#ifdef APLOG_USE_MODULE +APLOG_USE_MODULE(php5); +#endif AP_MODULE_DECLARE_DATA module php5_module = { STANDARD20_MODULE_STUFF, create_php_config, /* create per-directory config structure */ diff --git a/sapi/apache2handler/mod_php5.c b/sapi/apache2handler/mod_php5.c index 9df4f25066df..35d5548bd52a 100644 --- a/sapi/apache2handler/mod_php5.c +++ b/sapi/apache2handler/mod_php5.c @@ -25,6 +25,10 @@ #include "php.h" #include "php_apache.h" +#ifdef APLOG_USE_MODULE +APLOG_USE_MODULE(php5); +#endif + AP_MODULE_DECLARE_DATA module php5_module = { STANDARD20_MODULE_STUFF, create_php_config, /* create per-directory config structure */ From 918a01f55b5e0a82c1a2e886143a56eddffe6649 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= Date: Wed, 8 Aug 2012 19:30:04 +0200 Subject: [PATCH 2/3] sapi/apache2*: Use ap_state_query where possible instead of old method of creating a pool userdata entry. --- sapi/apache2filter/sapi_apache2.c | 11 +++++++++-- sapi/apache2handler/sapi_apache2.c | 12 ++++++++++-- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/sapi/apache2filter/sapi_apache2.c b/sapi/apache2filter/sapi_apache2.c index a8fec5cd8732..21f2fa34917f 100644 --- a/sapi/apache2filter/sapi_apache2.c +++ b/sapi/apache2filter/sapi_apache2.c @@ -606,11 +606,17 @@ static int php_apache_server_startup(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *s) { + +#if AP_MODULE_MAGIC_AT_LEAST(20110203,1) + /* Apache will load, unload and then reload a DSO module. This + * prevents us from starting PHP until the second load. */ + if (ap_state_query(AP_SQ_MAIN_STATE) == AP_SQ_MS_CREATE_PRE_CONFIG) { + return OK; + } +#else void *data = NULL; const char *userdata_key = "apache2filter_post_config"; - /* Apache will load, unload and then reload a DSO module. This - * prevents us from starting PHP until the second load. */ apr_pool_userdata_get(&data, userdata_key, s->process->pool); if (data == NULL) { /* We must use set() here and *not* setn(), otherwise the @@ -622,6 +628,7 @@ php_apache_server_startup(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_cleanup_null, s->process->pool); return OK; } +#endif /* Set up our overridden path. */ if (apache2_php_ini_path_override) { diff --git a/sapi/apache2handler/sapi_apache2.c b/sapi/apache2handler/sapi_apache2.c index 900a3a425b2d..a578740a9cac 100644 --- a/sapi/apache2handler/sapi_apache2.c +++ b/sapi/apache2handler/sapi_apache2.c @@ -430,12 +430,19 @@ static int php_pre_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp static int php_apache_server_startup(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *s) { - void *data = NULL; - const char *userdata_key = "apache2hook_post_config"; +#if AP_MODULE_MAGIC_AT_LEAST(20110203,1) /* Apache will load, unload and then reload a DSO module. This * prevents us from starting PHP until the second load. */ + if (ap_state_query(AP_SQ_MAIN_STATE) == AP_SQ_MS_CREATE_PRE_CONFIG) { + return OK; + } +#else + void *data = NULL; + const char *userdata_key = "apache2hook_post_config"; + apr_pool_userdata_get(&data, userdata_key, s->process->pool); + if (data == NULL) { /* We must use set() here and *not* setn(), otherwise the * static string pointed to by userdata_key will be mapped @@ -445,6 +452,7 @@ php_apache_server_startup(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp apr_pool_userdata_set((const void *)1, userdata_key, apr_pool_cleanup_null, s->process->pool); return OK; } +#endif /* Set up our overridden path. */ if (apache2_php_ini_path_override) { From b2b486638283ab1391407beaa4558feac9611a8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= Date: Wed, 15 Aug 2012 04:11:24 +0200 Subject: [PATCH 3/3] When daemonize is set to 0, do not create PID files. --- sapi/fpm/fpm/fpm_conf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sapi/fpm/fpm/fpm_conf.c b/sapi/fpm/fpm/fpm_conf.c index dfe6792c058b..4d68a3b51f99 100644 --- a/sapi/fpm/fpm/fpm_conf.c +++ b/sapi/fpm/fpm/fpm_conf.c @@ -1077,7 +1077,7 @@ static int fpm_conf_process_all_pools() /* {{{ */ int fpm_conf_unlink_pid() /* {{{ */ { - if (fpm_global_config.pid_file) { + if (!fpm_global_config.daemonize && fpm_global_config.pid_file) { if (0 > unlink(fpm_global_config.pid_file)) { zlog(ZLOG_SYSERROR, "Unable to remove the PID file (%s).", fpm_global_config.pid_file); return -1; @@ -1091,7 +1091,7 @@ int fpm_conf_write_pid() /* {{{ */ { int fd; - if (fpm_global_config.pid_file) { + if (!fpm_global_config.daemonize && fpm_global_config.pid_file) { char buf[64]; int len;