Fiz o upgrade do GPWeb para versão 7.5, criei um novo banco e apaguei a pasta anterior do GPWeb_7.4, porém após autenticar no sistema e clicar em qualquer botão ou link, automaticamente a sessão encerra e me redireciona para a página inicial solicitando login novamente.
Se eu coloco em outro servidor funciona normalmente. Porém não posso mudar de servidor por que o DNS já está configurado em nosso orgão gerenciador de rede do estado e tenho outros serviços rodando paralelamente no servidor em questão.
Com isso, peço a gentileza que faça o acesso para você verificar o problema no GPWeb em:
ou
http://200.149.134.117/gpweb (Quando o sistema é acessado via IP, funciona normalmente.
Reparei também que na função da versão 7.4 acessando o sistema via nome funciona, porém com a mansagem de erro:
Acredito que com esse detalhe da função a gente consiga resolver essa questão.
function sessaoIniciar($variaveis_inicio = 'Aplic') {
session_name(config('nomeBd'));
if (ini_get('session.auto_start') > 0) session_write_close();
if (config('administrando_sessao') == 'app') {
ini_set('session.save_handler', 'user');
if (version_compare(phpversion(), '5.0.0', '>=')) register_shutdown_function('session_write_close');
session_set_save_handler('sessaoAbrir', 'sessaoFechar', 'sessaoLer', 'sessaoEscrever', 'sessaoDestruir', 'sessaoGC');
$tempo_max = sessaoConverterTempo('max_lifetime');
}
else $tempo_max = 0;
preg_match('_^(https?://)([^/]+)(:0-9]+)?(/.*)?$_i', BASE_URL, $url_parts);
$diretoriogpweb = array_pop($url_parts);
if (!$diretoriogpweb) $diretoriogpweb ='/gpweb';
if (substr($diretoriogpweb, 0, 1) != '/') $diretoriogpweb = '/'.$diretoriogpweb;
if (substr($diretoriogpweb, -1) != '/') $diretoriogpweb .= '/';
session_set_cookie_params($tempo_max, $diretoriogpweb);
session_start();
}
#Função da versão 7.4
function sessaoIniciar($variaveis_inicio = 'Aplic') {
session_name(config('nomeBd'));
if (ini_get('session.auto_start') > 0) session_write_close();
if (config('administrando_sessao') == 'app') {
ini_set('session.save_handler', 'user');
if (version_compare(phpversion(), '5.0.0', '>=')) register_shutdown_function('session_write_close');
session_set_save_handler('sessaoAbrir', 'sessaoFechar', 'sessaoLer', 'sessaoEscrever', 'sessaoDestruir', 'sessaoGC');
$tempo_max = sessaoConverterTempo('max_lifetime');
}
else $tempo_max = 0;
preg_match('_^(https?://)([^/]+)(:0-9]+)?(/.*)?$_i', BASE_URL, $url_parts);
$diretorioCookie = $url_parts[4];
if (substr($diretorioCookie, 0, 1) != '/') $diretorioCookie = '/'.$diretorioCookie;
if (substr($diretorioCookie, -1) != '/') $diretorioCookie .= '/';
session_set_cookie_params($tempo_max, $diretorioCookie);
session_start();
}
Autor: Henrique Vieira
88 comentários
$diretoriogpweb='\gpweb\';
session_set_cookie_params($tempo_max, $diretoriogpweb);
session_start(); Acredito que irá sanar. Se não funcionar, me avise.
$diretoriogpweb = array_pop($url_parts);
if (!$diretoriogpweb) $diretoriogpweb ='/gpweb'; if (substr($diretoriogpweb, 0, 1) != '/') $diretoriogpweb = '/'.$diretoriogpweb;
if (substr($diretoriogpweb, -1) != '/') $diretoriogpweb .= '/';
session_set_cookie_params($tempo_max, $diretoriogpweb); Para corrigir o problema sugiro o código a seguir: preg_match('_^(https?://)([^/]+)(:0-9]+)?(/.*)?$_i', BASE_URL, $url_parts);
if (count($url_parts) > 3) {
$diretoriogpweb = array_pop($url_parts);
if (!$diretoriogpweb) $diretoriogpweb ='/gpweb'; if (substr($diretoriogpweb, 0, 1) != '/') $diretoriogpweb = '/'.$diretoriogpweb;
if (substr($diretoriogpweb, -1) != '/') $diretoriogpweb .= '/';
}
else {
$diretoriogpweb = '/';
};
session_set_cookie_params($tempo_max, $diretoriogpweb);