diff options
author | George Wang <gwang@php.net> | 2017-06-27 23:14:36 -0400 |
---|---|---|
committer | George Wang <gwang@php.net> | 2017-06-27 23:14:36 -0400 |
commit | 751d19f6982c36ca013f45c6bf2ad398304f6df5 (patch) | |
tree | fab3c6ab59f75026f70658c8a09c09040e22697e /sapi/litespeed/lsapi_main.c | |
parent | 604827b694aaf1ffcbd986043ba27642534f2ccf (diff) | |
download | php-git-751d19f6982c36ca013f45c6bf2ad398304f6df5.tar.gz |
[BUGFIX] fixes the issue that a value from .user.ini displays in phpinfo(), but not applies.
[BUGFIX] when lsapi used the php_value has higher priority then ini_set when called from the script by itself .
Diffstat (limited to 'sapi/litespeed/lsapi_main.c')
-rw-r--r-- | sapi/litespeed/lsapi_main.c | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/sapi/litespeed/lsapi_main.c b/sapi/litespeed/lsapi_main.c index 06aa6109b3..754ab150ea 100644 --- a/sapi/litespeed/lsapi_main.c +++ b/sapi/litespeed/lsapi_main.c @@ -404,17 +404,26 @@ static void log_message (const char *fmt, ...) #define DEBUG_MESSAGE(fmt, ...) #endif +static int lsapi_activate_user_ini(TSRMLS_D); + +static int sapi_lsapi_activate(TSRMLS_D) +{ + if (parse_user_ini && lsapi_activate_user_ini(TSRMLS_C) == FAILURE) { + return FAILURE; + } + return SUCCESS; +} /* {{{ sapi_module_struct cgi_sapi_module */ static sapi_module_struct lsapi_sapi_module = { "litespeed", - "LiteSpeed V6.10", + "LiteSpeed V6.11", php_lsapi_startup, /* startup */ php_module_shutdown_wrapper, /* shutdown */ - NULL, /* activate */ + sapi_lsapi_activate, /* activate */ sapi_lsapi_deactivate, /* deactivate */ sapi_lsapi_ub_write, /* unbuffered write */ @@ -547,8 +556,6 @@ static int lsapi_execute_script( zend_file_handle * file_handle) } -static int lsapi_activate_user_ini(); - static int lsapi_module_main(int show_source) { zend_file_handle file_handle = {0}; @@ -557,10 +564,6 @@ static int lsapi_module_main(int show_source) return -1; } - if (parse_user_ini && lsapi_activate_user_ini() == FAILURE) { - return -1; - } - if (show_source) { zend_syntax_highlighter_ini syntax_highlighter_ini; @@ -584,11 +587,16 @@ static int alter_ini( const char * pKey, int keyLen, const char * pValue, int va zend_string * psKey; #endif int type = ZEND_INI_PERDIR; + int stage = PHP_INI_STAGE_RUNTIME; if ( '\001' == *pKey ) { ++pKey; if ( *pKey == 4 ) { type = ZEND_INI_SYSTEM; } + else + { + stage = PHP_INI_STAGE_HTACCESS; + } ++pKey; --keyLen; if (( keyLen == 7 )&&( strncasecmp( pKey, "engine", 6 )== 0 )) @@ -603,12 +611,12 @@ static int alter_ini( const char * pKey, int keyLen, const char * pValue, int va psKey = zend_string_init(pKey, keyLen, 1); zend_alter_ini_entry_chars(psKey, (char *)pValue, valLen, - type, PHP_INI_STAGE_ACTIVATE); + type, stage); zend_string_release(psKey); #else zend_alter_ini_entry((char *)pKey, keyLen, (char *)pValue, valLen, - type, PHP_INI_STAGE_ACTIVATE); + type, stage); #endif } } |