Eu desenvolvi um portal em php, quando rodo local e em um servidor windows funciona perfeitamente porem quando vou subir para um servidor web linux, dá uns problemas de redirecionamento de paginas não roda alguém sabe me informar o que deve estar acontecendo, se eu tenho que configurar o htaccess para que o servidor possa fazer a mesma coisa que o servidor windows?
Como está configurado sua aplicação no Windows?
Você usa algum framework?
J
jodenni
Não uso Framework só uso Netbeans + Xampp 5.6.30 no Windows.
Dragoon
Se código dá erros e quais são?
O que acontece exatamente, colocando figuras e apontando os problemas?
J
jodenni
$id=$_POST["descricao"];$descricao=$_POST["descricao"];$sql="INSERT INTO Teste(id,descricao) VALUES ('$veiculofab','$descricao')";if(!mysqli_query($conn,$sql)){echo("Erro".mysqli_errno($conn));}else{//aquiqueocorreoerronosistemalinuxnãodirecionaeatelaficabrancaheader("Location:pagina.php");}mysqli_close($conn);
No banco insere normal porem no direcionamento da pagina para.
Dragoon
Talvez falta o contexto real do Script PHP que você não passou faltava aspas no seu código que não foi apresentado como erro na tela!
Isso vai funcionar ou não no Windows, Linux ou MAC o problema está na programação e não no servidor!
J
jodenni
Estranho é que no windows funciona perfeitamente no server, agora no linux que é o servidor web fica acontecendo esses problemas, pesquisando pessoas falaram que dá para usar htaccess para resolver configurações do script.
Dragoon
Cuidado isso não é verdade. O que eu consigo com .htaccess é configurações, se o Script tem problemas não é ele que resolver e sim o desenvolvedor!
Mostre um caso real tem como?
L
LostSoldier
Não esqueça de verificar se a diretiva display_errors no php.ini está ligada no linux, assim fica mais fácil encontrar o erro, caso esteja em ambiente de produção desligue-a após identificar…
<?php$id=$_POST["id"];$descricao=$_POST["descricao"];$sql="INSERT INTO controladorpedidofab2(id,descricao)VALUES ('$id','$descricao')";if(!mysqli_query($conn,$sql)){echo("Erro".mysqli_errno($conn));}else{header("header("Location:index.php"); } mysqli_close($conn);?>
J
jodenni
um dos problemas também é quando vou sair clicando no logof para destruir a session não direciona para a index.php na web, no teste feito em windows funcionou
aqui neste trecho a session é destruida porem não direciona para a index.php fica uma pagina em branco, eu não sei o que tá acontecendo,
L
LostSoldier
Sem ver a mensagem de erro é tiro no escuro, sugiro pesquisar sobre os logs e php.ini que indiquei mais acima… a partir daí teremos um norte para solucionar…
Agora adianto, esse if é desnecessário, no arquivo de logoff basta…
Até porque esse seu if pode gerar conflito, porque tanto para destruir quanto usar a sessão pelo $_SESSION obrigatoriamente você precisa “startá-la” independentemente se a chave está setada ou não pegou?
Também desnecessário dar unset em qualquer chave da sessão, já que o destroy a limpa por completo…
Dragoon
é mais ou menos assim e tem que funcionar:
<?php$id=$_POST["id"];$descricao=$_POST["descricao"];$sql="INSERT INTO controladorpedidofab2(id,descricao) VALUES ('$id','$descricao')";if(!mysqli_query($conn,$sql)){echo("Erro".mysqli_errno($conn));}else{mysqli_close($conn);header("Location: index.php");exit();}mysqli_close($conn);?>
agora se não funcionar tem que olhar todo o trafego do seu código, para que está indo, você adicionou um componente SESSION que é como o amigo disse ele é o primeiro comando das páginas, então, tem erros de programação e não de servidor e com certeza essa afirmação pela que a gente pode observar!
J
Solucao aceita
jodenni
Bom dia
depois de analisar o que estava acontecendo finalmente consegui resolver o problema, primeiro configurei o php.ini para ficar o mais próximo possível do das configurações do windows, e depois no codigo fonte onde estava gerando o erro coloquei <?php ob_start(); ?> e funcionou normalmente.