static int sapi_lsapi_activate(TSRMLS_D) { if (parse_user_ini && lsapi_activate_user_ini(TSRMLS_C) == FAILURE) { return FAILURE; } return SUCCESS; }
static int lsapi_module_main(int show_source) { zend_file_handle file_handle = {0}; if (php_request_startup() == FAILURE ) { return -1; } if (parse_user_ini && lsapi_activate_user_ini() == FAILURE) { return -1; } if (show_source) { zend_syntax_highlighter_ini syntax_highlighter_ini; php_get_highlight_struct(&syntax_highlighter_ini); highlight_file(SG(request_info).path_translated, &syntax_highlighter_ini); } else { lsapi_execute_script( &file_handle); } zend_try { php_request_shutdown(NULL); memset( argv0, 0, 46 ); } zend_end_try(); return 0; }
static int sapi_lsapi_activate() { char *path, *server_name; size_t path_len, server_name_len; /* PATH_TRANSLATED should be defined at this stage but better safe than sorry :) */ if (!SG(request_info).path_translated) { return FAILURE; } if (php_ini_has_per_host_config()) { server_name = sapi_lsapi_getenv("SERVER_NAME", 0); /* SERVER_NAME should also be defined at this stage..but better check it anyway */ if (server_name) { server_name_len = strlen(server_name); server_name = estrndup(server_name, server_name_len); zend_str_tolower(server_name, server_name_len); php_ini_activate_per_host_config(server_name, server_name_len); efree(server_name); } } if (php_ini_has_per_dir_config()) { /* Prepare search path */ path_len = strlen(SG(request_info).path_translated); /* Make sure we have trailing slash! */ if (!IS_SLASH(SG(request_info).path_translated[path_len])) { path = emalloc(path_len + 2); memcpy(path, SG(request_info).path_translated, path_len + 1); path_len = zend_dirname(path, path_len); path[path_len++] = DEFAULT_SLASH; } else { path = estrndup(SG(request_info).path_translated, path_len); path_len = zend_dirname(path, path_len); } path[path_len] = 0; /* Activate per-dir-system-configuration defined in php.ini and stored into configuration_hash during startup */ php_ini_activate_per_dir_config(path, path_len); /* Note: for global settings sake we check from root to path */ efree(path); } if (parse_user_ini && lsapi_activate_user_ini() == FAILURE) { return FAILURE; } return SUCCESS; }