]> granicus.if.org Git - php/commitdiff
@ Add runtime Apache2 thread check to ensure we don't run a non-threaded
authorRasmus Lerdorf <rasmus@php.net>
Mon, 24 Jun 2002 16:04:20 +0000 (16:04 +0000)
committerRasmus Lerdorf <rasmus@php.net>
Mon, 24 Jun 2002 16:04:20 +0000 (16:04 +0000)
@ PHP inside a threaded Apache2 MPM.  (Rasmus)

sapi/apache2filter/sapi_apache2.c

index 99771cbc7fedb04b78f81cea85e10be476bbc6a8..d4f0ad7bc8452f6510545a6db67e133a8e815bdc 100644 (file)
@@ -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;