@@ -2842,39 +2842,12 @@ static void zps_startup_failure(const char *reason, const char *api_reason, int
28422842	zend_llist_del_element (& zend_extensions , NULL , (int  (* )(void  * , void  * ))cb );
28432843}
28442844
2845- static  inline  zend_result  accel_find_sapi (void )
2845+ /* Return whether we are running a CLI (Command LIne) SAPI for which Opcache is 
2846+  * disabled when `opcache.enable_cli=0` */ 
2847+ static  inline  bool  accel_sapi_is_cli (void )
28462848{
2847- 	static  const  char  * supported_sapis [] =  {
2848- 		"apache" ,
2849- 		"fastcgi" ,
2850- 		"cli-server" ,
2851- 		"cgi-fcgi" ,
2852- 		"fpm-fcgi" ,
2853- 		"fpmi-fcgi" ,
2854- 		"apache2handler" ,
2855- 		"litespeed" ,
2856- 		"uwsgi" ,
2857- 		"fuzzer" ,
2858- 		"frankenphp" ,
2859- 		"ngx-php" ,
2860- 		NULL 
2861- 	};
2862- 	const  char  * * sapi_name ;
2863- 
2864- 	if  (sapi_module .name ) {
2865- 		for  (sapi_name  =  supported_sapis ; * sapi_name ; sapi_name ++ ) {
2866- 			if  (strcmp (sapi_module .name , * sapi_name ) ==  0 ) {
2867- 				return  SUCCESS ;
2868- 			}
2869- 		}
2870- 		if  (ZCG (accel_directives ).enable_cli  &&  (
2871- 		    strcmp (sapi_module .name , "cli" ) ==  0 
2872- 		  ||  strcmp (sapi_module .name , "phpdbg" ) ==  0 )) {
2873- 			return  SUCCESS ;
2874- 		}
2875- 	}
2876- 
2877- 	return  FAILURE ;
2849+ 	return  strcmp (sapi_module .name , "cli" ) ==  0 
2850+ 		||  strcmp (sapi_module .name , "phpdbg" ) ==  0 ;
28782851}
28792852
28802853static  zend_result  zend_accel_init_shm (void )
@@ -3197,15 +3170,9 @@ static int accel_startup(zend_extension *extension)
31973170	}
31983171#endif 
31993172
3200- 	/* no supported SAPI found - disable acceleration and stop initialization */ 
3201- 	if  (accel_find_sapi () ==  FAILURE ) {
3173+ 	if  (!ZCG (accel_directives ).enable_cli  &&  accel_sapi_is_cli ()) {
32023174		accel_startup_ok  =  false;
3203- 		if  (!ZCG (accel_directives ).enable_cli  && 
3204- 		    strcmp (sapi_module .name , "cli" ) ==  0 ) {
3205- 			zps_startup_failure ("Opcode Caching is disabled for CLI" , NULL , accelerator_remove_cb );
3206- 		} else  {
3207- 			zps_startup_failure ("Opcode Caching is only supported in Apache, FPM, FastCGI, FrankenPHP, LiteSpeed and uWSGI SAPIs" , NULL , accelerator_remove_cb );
3208- 		}
3175+ 		zps_startup_failure ("Opcode Caching is disabled for CLI" , NULL , accelerator_remove_cb );
32093176		return  SUCCESS ;
32103177	}
32113178
0 commit comments