summaryrefslogtreecommitdiff
path: root/sapi/litespeed/lsapi_main.c
diff options
context:
space:
mode:
authorGeorge Wang <gwang@php.net>2017-06-27 23:14:36 -0400
committerGeorge Wang <gwang@php.net>2017-06-27 23:14:36 -0400
commit751d19f6982c36ca013f45c6bf2ad398304f6df5 (patch)
treefab3c6ab59f75026f70658c8a09c09040e22697e /sapi/litespeed/lsapi_main.c
parent604827b694aaf1ffcbd986043ba27642534f2ccf (diff)
downloadphp-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.c28
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
}
}