Pessoal,
Possuo uma aplicação, orientada a objetos, que localmente em minha máquina roda corretamente, porém quando subo para o servidor, para rodar on line, nao funciona corretamente.
Ouvi dizer que por ter OO em minha aplicação, pode ser esse um dos motivos, uma vez que as versões do php utilizados no meu servidor local e no meu servidor on line são diferentes.
Alguém já viu problema parecido?
Não faço idéia do que possa ser!
Valew!
Local Funciona, On Line Não Funciona
Started By Greg, 14/12/2007, 18:14
5 replies to this topic
#1
Posted 14/12/2007, 18:14
#2
Posted 14/12/2007, 23:49
O mais obvio seje isso as versões do PHP do seu serve local e do on-line devem ser diferentes.
Pois a partir do PHP 5 por exemplo mudou bem as Classes e Objetos muitas coisa que forão feitas nele não funciona no PHP 4 e vice-versa.
Para saber qual a versão do seu PHP crie um arquicom com o "phpinfo()":
E coloque um online e um off-line e compare as versões apresentadas ....
Pois a partir do PHP 5 por exemplo mudou bem as Classes e Objetos muitas coisa que forão feitas nele não funciona no PHP 4 e vice-versa.
Para saber qual a versão do seu PHP crie um arquicom com o "phpinfo()":
<?php phpinfo(INFO_ALL); ?>
E coloque um online e um off-line e compare as versões apresentadas ....
#3
Posted 14/12/2007, 23:55
Olá.....
se vc estiver usando tecnicas de OO do PHP 4, o proprio PHP 4 poderá interpretar o seu codigo perfeitamente.....
agora, se vc utilizou de funcoes e tecnicas de PHP 5 ai vc tem q confirmar se a versao do PHP instalada no seu servido eh PHP5...
utilize a taoooo famosa,
print phpinfo();
flw
se vc estiver usando tecnicas de OO do PHP 4, o proprio PHP 4 poderá interpretar o seu codigo perfeitamente.....
agora, se vc utilizou de funcoes e tecnicas de PHP 5 ai vc tem q confirmar se a versao do PHP instalada no seu servido eh PHP5...
utilize a taoooo famosa,
print phpinfo();
flw
"Ninguém é tão inteligente que não possa aprender e ninguém é tão burro que não possa ensinar.."
"As dúvidas engrandecem nossa sabedoria, mas não basta somente tirá-las, temos que entendê-las"
"As dúvidas engrandecem nossa sabedoria, mas não basta somente tirá-las, temos que entendê-las"
#4
Posted 17/12/2007, 08:56
A versão do on line é 5.2.5, e a versão do local é 5.0.4, ou seja, as duas versões são 5.
Mais alguma sugestão?
Valew!
Mais alguma sugestão?
Valew!
#5
Posted 17/12/2007, 09:13
Acho importante você debugar e ver onde não está funcionando corretamente. Talvez seja alguma biblioteca inativa, alguma configuração mais simples do PHP.INI, etc
Thales Santos
#6
Posted 18/12/2007, 08:58
seguinte:
Meu código executa até determinado momento, inclui um " echo'teste' ", linha por linha até encontrar em que ponto do código ele não mostraria a mensagem teste.
Verifiquei que ao chegar em
$usuario = new usuario()
$tipo = $usuario -> checa_permissao();
o código não mostrou mais a mensagem teste, então fui na classe usuario e fiz o mesmo, incluindo um " echo'teste' " linha por linha. Beleza, no início, alí nos requires executa tranquilo, mas após o class usuario{
.
.
.
.
.
.
.
}, não executou mais.
Que pode ser? Sintaxe? mas localmente está tudo certo.
Aguardo
Valew!
Debugando o código executa o seguinte:
1 - Após fazer login o usuário é direcionado para a página login.php, que contém o seguinte:
Nesse arquivo eu fui inserindo linha por linha um echo da palavra teste, ou seja, toda vez que a página era carregada a palavra teste era mostrada, mas isso acontecia somente até quando o echo estava uma linha antes do primeiro if. Após isso, não acontece mais nada, na verdade o processo é abortado. Foi então que resolvi colocar um echo no arquivo da classe usuario. A palavra que eu estava querendo mostrar no echo aparece até antes do método construtor da classe, se eu colocar um echo dentro do bloco do método construtor, nada acontece, e nisso tudo o que mais me intriga é que local está funcionado perfeitamente, esse problema só dá quando subo a aplicação para o servidor online.
Valew!
Meu código executa até determinado momento, inclui um " echo'teste' ", linha por linha até encontrar em que ponto do código ele não mostraria a mensagem teste.
Verifiquei que ao chegar em
$usuario = new usuario()
$tipo = $usuario -> checa_permissao();
o código não mostrou mais a mensagem teste, então fui na classe usuario e fiz o mesmo, incluindo um " echo'teste' " linha por linha. Beleza, no início, alí nos requires executa tranquilo, mas após o class usuario{
.
.
.
.
.
.
.
}, não executou mais.
Que pode ser? Sintaxe? mas localmente está tudo certo.
Aguardo
Valew!
Debugando o código executa o seguinte:
1 - Após fazer login o usuário é direcionado para a página login.php, que contém o seguinte:
<?php @session_start(); /*****************************************/ require_once ('lib/config.php'); require_once ('classes/usuario.php'); require_once ('Smarty/libs/Smarty.class.php'); /*****************************************/ //$pass = base64_encode($_POST['pass']); $pass = $_POST['pass']; $login = $_POST['login']; $user = new usuario(); if($user->acessar_sistema($login,$pass)){ $_SESSION['erro'] = false; header("location:home.php"); } else { $_SESSION['erro'] = true; header("location:index.php"); }?>
Nesse arquivo eu fui inserindo linha por linha um echo da palavra teste, ou seja, toda vez que a página era carregada a palavra teste era mostrada, mas isso acontecia somente até quando o echo estava uma linha antes do primeiro if. Após isso, não acontece mais nada, na verdade o processo é abortado. Foi então que resolvi colocar um echo no arquivo da classe usuario. A palavra que eu estava querendo mostrar no echo aparece até antes do método construtor da classe, se eu colocar um echo dentro do bloco do método construtor, nada acontece, e nisso tudo o que mais me intriga é que local está funcionado perfeitamente, esse problema só dá quando subo a aplicação para o servidor online.
Valew!
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)