From: Rasmus Lerdorf Date: Mon, 24 Jun 2002 16:04:20 +0000 (+0000) Subject: @ Add runtime Apache2 thread check to ensure we don't run a non-threaded X-Git-Tag: php-4.3.0dev_zend2_alpha2~113 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=890e01bebe03299d10f30f1decebcddaf128e4e8;p=php @ Add runtime Apache2 thread check to ensure we don't run a non-threaded @ PHP inside a threaded Apache2 MPM. (Rasmus) --- diff --git a/sapi/apache2filter/sapi_apache2.c b/sapi/apache2filter/sapi_apache2.c index 99771cbc7f..d4f0ad7bc8 100644 --- a/sapi/apache2filter/sapi_apache2.c +++ b/sapi/apache2filter/sapi_apache2.c @@ -40,6 +40,7 @@ #include "http_main.h" #include "util_script.h" #include "http_core.h" +#include "ap_mpm.h" #include "php_apache.h" @@ -444,6 +445,15 @@ static void php_apache_add_version(apr_pool_t *p) static int php_pre_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp) { +#ifndef ZTS + int threaded_mpm; + + ap_mpm_query(AP_MPMQ_IS_THREADED, &threaded_mpm); + if(threaded_mpm) { + ap_log_error(APLOG_MARK, APLOG_CRIT, 0, 0, "Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP."); + return DONE; + } +#endif /* When this is NULL, apache won't override the hard-coded default * php.ini path setting. */ apache2_php_ini_path_override = NULL;