Jump to content
greg_kaippert

[RESOLVIDO] Migrar aplicação de um servidor para outro

Recommended Posts

Boa tarde master, estou com um problema. Na empresa a qual estou trabalhando, fiz a migração de algumas aplicações do servidor de produção para um novo servidor. A aplicação funciona normal no servidor de produção. Os arquivos, imagens carregam sem problemas, mas no novo servidor não funciona, não consegue achar o arquivo css, imagens, e verifiquei que esses arquivos css e as imagens estão no caminho correto. Quando faço login, fica tudo sem ESTILO, é como se não reconhecesse o CSS. Fiz um debug pela ferramenta de desenvolvimento, e está retornando alguns erros. Pela lógica, era para funcionar, pois o código está exatamente igual ao servidor de produção. 

 

OBS: Se eu acessar o link direto pela URL do arquivo CSS do servidor de produção, consigo ver o código, mas no novo servidor diz que não encontrou, mas o arquivo está lá.

 

Se alguém puder ajudar, agradeço demais.

 

No aguardo, att Gregory.

newServerFail.jpg

newServerFail2.jpg

Share this post


Link to post
Share on other sites

Habilitou todas as permissões necessárias para a leitura dos arquivos .css no servidor? Creio que seja esse o problema.

Share this post


Link to post
Share on other sites
Agora, Jesse&Francinete disse:

Habilitou todas as permissões necessárias para a leitura dos arquivos .css no servidor? Creio que seja esse o problema.


Pior que sim. Seria 777 mesmo ?

 

Citar

E a aplicação está usando constants.

Ex: <link href="<?=CFG_DIR_RELATIVO_CSS?>/login.css" rel="stylesheet" type="text/css" />

 

Share this post


Link to post
Share on other sites
1 minuto atrás, greg_kaippert disse:

Pior que sim. Seria 777 mesmo ?

 

777 não, isso permite a gravação dos arquivos. Apenas 644.

 

Manda o código da sua index, fazendo favor.

Share this post


Link to post
Share on other sites
Página principal index.php:

<?php
	
	session_start();

	ini_set("display_errors",1);
	
	$_SESSION['acessoCode'] = md5(uniqid("maccoy"));
	
	include "../../configuracao/config_nucleo.php";
	include_once "../../configuracao/globaliza_variaveis.php";
	include CFG_DIR_BIBLIOTECA."/usuario.php";
	
	/**
	 * se login e senha foram enviados pelo formulário
	 */
	 

	if(isset($_POST['form_usuario']) && isset($_POST['form_senha'])) {

		$form_usuario = $_POST['form_usuario'];
		$form_senha = $_POST['form_senha'];
		
		$usuario = new usuario();

		if($form_senha != '' && $usuario->login($form_usuario,$form_senha)){
			if(isset($id_modulo)){
			    $query = "?id_modulo=$id_modulo";
			}else{
			    $query = "";
			}
			//echo '### usuario '.$form_usuario.' senha '.$form_senha.' ###';	
			header("location:escolha_modulo.php$query");
		}else{
			echo "acesso não autorizado";
			echo $usuario->mensagem_erro;
		}
	}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
	<head>
		<title>Sistema Administrativo Intranet</title>
		<link href="<?=CFG_DIR_RELATIVO_CSS?>/login.css" rel="stylesheet" type="text/css" />
	</head>
	<body>
	<div id='bloco_login'>
		<div style='margin-top:30px'><img src='../imagens/lasa.jpg' /></div>
		<div id='icone'><img src='<?=CFG_DIR_RELATIVO_IMAGENS."/id_card.gif"?>' alt='icone de login' /></div>
		<div id='formulario_login'>			
			<form method='post' action='index.php'>
				<table>
					<tr>
						<td>Usu&aacute;rio</td>
						<td><input type='text' name='form_usuario' size='15' /></td>
					</tr>
                                        <tr>
						<td>Senha</td>
						<td><input type='password' name='form_senha' size='15' /></td>
					</tr>
					<tr>
						<td colspan="2">
						    <?php
						          if(isset($id_modulo)){
						              echo "<input type='hidden' name='id_modulo' value='$id_modulo' />\n";
						          }						          
						    ?>
							<input name="submit" type="submit" value="ok" />
						</td>
					</tr>
				</table>
			</form>
		</div>
	</div>
	</body>
</html>

 

Share this post


Link to post
Share on other sites
13 minutos atrás, greg_kaippert disse:

Página principal index.php:

 

Espero que isso não esteja dentro do seu código, NADA deve ficar antes da TAG: <?php.

 

Tente trocar:

13 minutos atrás, greg_kaippert disse:

<?=CFG_DIR_RELATIVO_CSS?>

 

Pelo endereço manual:

 

<link href="localhost/login.css" rel="stylesheet" type="text/css" /> //Localhost ou o IP do seu servidor.

 

Já sofri com servidores próprios, sempre dava pau na migração, mas consegui deixar tudo perfeito alterando permissões, pastas, arquivos e o próprio código, com o caminho dos arquivos e páginas. 

 

Uma dúvida, seu servidor é Linux ou Windows?

Share this post


Link to post
Share on other sites
Agora, greg_kaippert disse:

Já fiz isso que você pediu, troquei as constants pelo endereço manual, assim funciona

 

Ótimo! Então agora sabemos que não são as permissões e sim o endereço. As constants devem estar erradas, meu caro. Alterar as permissões, acho que não vai resolver.

Share this post


Link to post
Share on other sites

Cheguei a essa conclusão também, pois inserindo os links manualmente, funciona, mas o correto não seria funcionar, já que no servidor de produção está ok ?

 

Outra coisa, eu verificando o caminho do arquivo css, vejo que está ok, pois o arquivo está lá, mas a aplicação não reconhece. 

 

Por exemplo, o link do arquivo css é esse: http://10.115.192.19/fluxocaixa2/www/css/login.css

 

Se eu for no servidor, acessar esse diretório ai, o arquivo login.css está lá, mas pela URL não.

 

Se eu acessar pela URL http://10.115.192.19/fluxocaixa2/www/css/login.css, dar essa mensagem.

 

Not Found

The requested URL /fluxocaixa2/www/css/login.css was not found on this server.

Share this post


Link to post
Share on other sites

Tente trocar:

 

20 minutos atrás, greg_kaippert disse:

<link href="<?=CFG_DIR_RELATIVO_CSS?>/login.css" rel="stylesheet" type="text/css" />

 

Por: 

 

<link href="<?=CFG_DIR_RELATIVO_CSS?>\login.css" rel="stylesheet" type="text/css" />

 

Geralmente a inversão de barras conflita.

 

3 minutos atrás, greg_kaippert disse:

Se eu for o servidor, acessar esse diretório ai, o arquivo login.css está lá

 

Dá um echo nesse caminho:

 

<?php echo CFG_DIR_RELATIVO_CSS ?>

E me manda aqui, quero ver mesmo se está correto, pois do modo que você me disse, está tudo ok.

5 minutos atrás, greg_kaippert disse:

The requested URL /fluxocaixa2/www/css/login.css was not found on this server.

 

Troque:

 

24 minutos atrás, greg_kaippert disse:

<link href="<?=CFG_DIR_RELATIVO_CSS?>/login.css" rel="stylesheet" type="text/css" />

 

Por:

 

<link href="localhost/<?=CFG_DIR_RELATIVO_CSS?>/login.css" rel="stylesheet" type="text/css" />

Share this post


Link to post
Share on other sites

;) tudo certo.

Share this post


Link to post
Share on other sites
Citar

Dá um echo nesse caminho:

<?php echo CFG_DIR_RELATIVO_CSS ?>

 

O resultado desse echo é: http://10.115.192.19/fluxocaixa2/www/css

 

Citar

Tente trocar:

<link href="<?=CFG_DIR_RELATIVO_CSS?>/login.css" rel="stylesheet" type="text/css" />

Por: 

<link href="<?=CFG_DIR_RELATIVO_CSS?>\login.css" rel="stylesheet" type="text/css" />

Geralmente a inversão de barras conflita.

 

O resultado foi esse abaixo, ainda não deu certo.

<link href="http://10.115.192.19/fluxocaixa2/www/css\login.css" rel="stylesheet" type="text/css">

Share this post


Link to post
Share on other sites

Então mude:

1 hora atrás, greg_kaippert disse:

<link href="<?=CFG_DIR_RELATIVO_CSS?>/login.css" rel="stylesheet" type="text/css" />

 

Por:

<link href="<?php echo CFG_DIR_RELATIVO_CSS; ?>/login.css" rel="stylesheet" type="text/css" />

Vê se agora vai.

Share this post


Link to post
Share on other sites

Consegui resolver. O problema é que o novo servidor está diferente do servidor de produção.

 

O caminho no servidor de produção está assim: define("CFG_DIR_SITE","http://enderecoip/fluxocaixa2/www");

 

E no novo servidor, o correto é assim: define("CFG_DIR_SITE","http://enderecoip/");

 

Por isso não estava achando os arquivos.

 

Desde já agradeço pela sua atenção Jesse&Francinete.

Share this post


Link to post
Share on other sites

Fiquei inativo e não pude ajudá-lo, mas que bom que conseguiu! :smiley:

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Hállex da Silva Costa
      Alguém poderia me dizer qual a forma mais correta de se utilizar uma classe seguindo as regras e padrões da Orientação a Objeto. Digamos que eu tenha uma classe Abstrata que fará a conexão com o banco de dados, eu crio uma outra classe que herda dessa classe abstrata, o correto seria utilizar os atributos da classe usando Exemplo 1 ou Exemplo 2?
      OBS: se eu usar o Exemplo 1 (que utiliza o parent) ou Exemplo 2 (que utilza o $this) o resultado dos dois é o mesmo como no print abaixo mostra.
      P.S.: Estou pergutando para não acabar fazendo gambiarra.
      Codígo Exemplo 1:
      require_once 'db.abstract_class.php'; final class DB extends AbstractDB { public function __construct(String $dbtype, String $host, Int $port, String $dbname, String $charset, String $user, String $pass){ return parent::__construct($dbtype, $host, $port, $dbname, $charset, $user, $pass); } final function Connect(){ $dbtype = parent::getDBType(); $host = parent::getHost(); $port = parent::getPort(); $dbname = parent::getDBName(); $charset = parent::getCharset(); $dbh = new PDO($dbtype . ":host={$host};port={$port}dbname={$dbname};charset{$charset}", parent::getUser(), parent::getPass()); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, TRUE); $dbh->setAttribute(PDO::ATTR_PERSISTENT, TRUE); parent::setConnection($dbh); return parent::getConnection(); } final function Disconnect(){} final function selectDB(){} final function insertDB(){} final function updateDB(){} final function deleteDB(){} } Codígo Exemplo 2:
      require_once 'db.abstract_class.php'; final class DB extends AbstractDB { public function __construct(String $dbtype, String $host, Int $port, String $dbname, String $charset, String $user, String $pass){ $this->setDBType($dbtype); $this->setHost($host); $this->setPort($port); $this->setDBName($dbname); $this->setCharset($charset); $this->setUser($user); $this->setPass($pass); } final function Connect(){ $dbtype = $this->getDBType(); $host = $this->getHost(); $port = $this->getPort(); $dbname = $this->getDBName(); $charset = $this->getCharset(); $dbh = new PDO($dbtype . ":host={$host};port={$port}dbname={$dbname};charset{$charset}", $this->getUser(), $this->getPass()); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, TRUE); $dbh->setAttribute(PDO::ATTR_PERSISTENT, TRUE); $this->setConnection($dbh); return $this->getConnection(); } final function Disconnect(){} final function selectDB(){} final function insertDB(){} final function updateDB(){} final function deleteDB(){} } Resultado:

    • By smashplus
      Olá amigos, sendo breve, apenas gostaria de saber se alguem sabe por onde começo para fazer por exemplo o seguinte:
       
      Existe o usuário 1 e o usuário 2,  quando o usuário 1 insere uma linha no bd, ele manda uma mensagem para o usuário 2, avisando tipo, foi inserido uma linha no bd para o usuário, tipo aqueles popup sabe.
       
      Se alguem puder dar uma luz, tenho noções basicas de php e ajax...
       
      Agradeço se alguem puder dar a direção.
    • By EvertonFD
      Boa tarde senhores, estou começando na programação mais precisamente com o php, e para fins de estudo estou criando um site de gerenciamento de campeonatos e me deparei com uma questão,
      Tenho um resultado no banco time a 10 x 05 time b, então fiz o seguinte trouxe esses valores para a tela  e na sequencia criaei um if para determinar qual o maior ficou assim:

       
      <?php echo $row_resultados ['g_a'];?> X <?php echo $row_resultados ['g_b'];?> // resultados trazido do bd no caso o placar 10 X05 <?php $row_resultados ['g_a']; $row_resultados ['g_b']; $a= $row_resultados ['g_a']; $b= $row_resultados ['g_b']; if($a > $b): $placar= "VIT"; elseif($a < $b): // Note the combination of the words. $placar= "DER"; else: $placar= "EMP"; endif; echo $placar ?>// exibe o resultado ?> Ai ele me retorna o seguinte ou ele me da a vitoria para os dois time ou ele retorna derrota para os dois, como ja expliquei estou começando então se tiver uma outra maneira de fazer aceito sugestões
       
    • By lucascientista
      Boa noite, galera é o seguinte eu estou montando um script que pesquisa no banco de dados e mostrar os resultados em uma página php, bem aí que está o problema eu pesquisei alguns sistemas de paginação e de pesquisa e acabei montando meu script, no meu script a pesquisa aparece na primeira página mas quando passo para a página adiante não me é mostrado resultado nenhum já verifiquei tudo e não consigo encontrar o erro, será que alguém pode me ajudar?
       
      <?php #Incluindo a conexão no banco de dados require_once '../dao/conexao/Conexao.php'; $conexao = Conexao::getInstance(); /***********************************************/ #Aqui começa a parte a paginação e pesquisa /**********************************************/ #Limitando o número máximo de resultados que serão mostrados na tela $maximo = 1; #Armazenando o valor da página atual $pagina = isset($_GET["pagina"])? ($_GET["pagina"]): '1'; #Subtraindo 1, porque os registro começam do zero como em um array $inicio = $pagina - 1; #Multiplicamos a quantidade de registros da pagina pelo valor da pagina atual $inicio = $maximo * $inicio; #Agora chega a parte em que fazemos o SELECT para contar os resultados $sql = "SELECT * FROM centroautomotivo"; $stmt = $conexao->prepare($sql); $stmt->execute(); $contagem = $stmt->fetchAll(PDO::FETCH_ASSOC); $total = 0; if(count($contagem)){ foreach ($contagem as $linhas) { #Armazenando o total de registros da tabela para fazer a paginação $total = count($contagem); } } /******************************************************************* * Aqui vai começar a parte da pesquisa, tornando o script em um só ********************************************************************/ #Recebe o termo da pesquisa se existir $termo = (isset($_GET["termo"])) ? ($_GET["termo"]) : ''; #Executa uma pesquisa com o termo pesquisado como parametro - Este SELECT irá servir também para a paginação if(empty($termo)){ //Nada aqui } else{ $sql = "SELECT * FROM centroautomotivo WHERE nomefantasia LIKE :nomefantasia or email LIKE :email ORDER BY idCentro LIMIT $inicio,$maximo"; $stm = $conexao->prepare($sql); $stm->bindValue(':nomefantasia', '%'.$termo.'%'); $stm->bindValue(':email', '%'.$termo.'%'); $stm->execute(); $autocenters = $stm->fetchAll(PDO::FETCH_ASSOC); } <?php require_once '../includes/header.php'; require_once '../controller/paginacaoPesquisaCentro.php'; ?> <div class="container mb-5"> <h1 class="text text-center">Centros Automotivos</h1> <p class="text text-center">Encontre o centro automotivo que mais se encaixa com você</p> <!--Formulário de pesquisa com paginação--> <form method="GET" action=""> <div class="d-flex flex-column bd-highlight mb-3"> <div class="p-2 bd-highlight"><img src="../img/Logotipo.png" class=" img-fluid rounded mx-auto d-block"></div> <div class="p-2 bd-highlight d-flex justify-content-center" style="margin-top: -10px;"><input type="text" name="termo" class="form-control" style=" width: 60%;" placeholder="Pesquise pelo Centro Automotivo!"/></div> <div class="p-2 bd-highlight d-flex justify-content-center"><button type="submit" class="btn btn-outline-primary"><i class="fas fa-search"></i>&nbsp;Pesquisar</button></div> </div> </form> <!--Fim do formuláio de pesquisa--> <!--Início dos resultados da pesquisa--> <?php if(!empty($autocenters)){?> <?php foreach ($autocenters as $autocenter) { ?> <center> <div class="card mb-3" style="max-width: 540px;"> <div class="row no-gutters"> <div class="col-md-4"> <img src="../controller<?php empty($autocenter["foto"])? 'images/pic.png' : $autocenter["foto"] ?>" class="card-img img-fluid" width="150px" height="150px"> </div> <div class="col-md-8"> <div class="card-body"> <p class="card-text text-justify"><?php $autocenter["nomefantasia"]?></p> <p class="card-text text-justify"><small class="text-muted"><?=$autocenter["email"]?></small></p> </div> </div> </div> </div> </center> <?php }//Fechamento do foreach?> <div id="alignpaginacao"> <?php //determina de quantos em quantos links serão adicionados e removidos $max_links = 6; //dados para os botões $previous = $pagina - 1; $next = $pagina + 1; //usa uma funcção "ceil" para arrendondar o numero pra cima, ex 1,01 será 2 $pgs = ceil($total / $maximo); //se a tabela não for vazia, adiciona os botões if($pgs > 1 ){ echo "<br/>"; //botao anterior if($previous > 0){ echo "<div id='botaoanterior'><a href=".$_SERVER['PHP_SELF']."?termo={$termo}?pagina=$previous><input type='submit' name='bt-enviar' id='bt-enviar' value='Anterior' class='button' /></a></div>"; } else{ echo "<div id='botaoanteriorDis'><a href=".$_SERVER['PHP_SELF']."?pagina=$previous><input type='submit' name='bt-enviar' id='bt-enviar' value='Anterior' class='button' disabled='disabled'/></a></div>"; } echo "<div id='numpaginacao'>"; for($i=$pagina-$max_links; $i <= $pgs-1; $i++) { if ($i <= 0){ //enquanto for negativo, não faz nada }else{ //senão adiciona os links para outra pagina if($i != $pagina){ if($i == $pgs){ //se for o final da pagina, coloca tres pontinhos echo "<a href=".$_SERVER['PHP_SELF']."?pagina=".($i).">$i</a> ..."; }else{ echo "<a href=".$_SERVER['PHP_SELF']."?pagina=".($i).">$i</a>"; } } else{ if($i == $pgs){ //se for o final da pagina, coloca tres pontinhos echo "<span class='current'> ".$i."</span> ..."; }else{ echo "<span class='current'> ".$i."</span>"; } } } } echo "</div>"; //botao proximo if($next <= $pgs){ echo " <div id='botaoprox'><a href=".$_SERVER['PHP_SELF']."?termo={$termo}?pagina=$next><input type='submit' name='bt-enviar' id='bt-enviar' value='Proxima' class='button'/></a></div>"; }else{ echo " <div id='botaoproxDis'><a href=".$_SERVER['PHP_SELF']."?pagina=$next><input type='submit' name='bt-enviar' id='bt-enviar' value='Proxima' class='button' disabled='disabled'/></a></div>"; } } ?> </div> <?php }//Fechamento do if?> <!--Fim dos resultados da pesquisa--> <!--Início da paginação--> <!--Fim da paginação--> </div> <?php require_once '../includes/footer.php'; ?>  
      Bem aí está meu código, fico muito agradecido se puderem me ajudar.
    • By wandoh
      Boa Tarde! estou com um dificuldades de puxar os dados do usuário logado no site. Atualmente estou conseguindo puxar somente o NOME, quando tento puxar o restante da erro! Abaixo segue o Código.
       
      session_start(); //inicializa variaveis $id = "accountid"; $name = ""; $email = ""; $errors = array(); //conexão db $db = mysqli_connect('localhost', 'root', 'senha', 'db') or die("could not connect to database"); //Registrar usuário if (isset($_POST['reg_user'])) { // receives all input values from the form $name = mysqli_real_escape_string($db, $_POST['name']); $email = mysqli_real_escape_string($db, $_POST['email']); $password = mysqli_real_escape_string($db, $_POST['password']); $password2 = mysqli_real_escape_string($db, $_POST['password2']); //form validação: ensure that the form is correctly filled ... // by adding (array_push)) corresponding error unto $errors array if(empty($name)) { array_push($errors, " "); } if(empty($email)) { array_push($errors, " "); } if(empty($pwd)) { array_push($errors, " "); } if($pwd != $pw2) { array_push($errors, " "); } // To protect MySQL injection (more detail about MySQL injection) $name = stripslashes($name); $password = stripslashes($password); // first check the databese to make sure // verifica na db se a usuário existente com o mesmo nome de usuário e email $user_check_query = "SELECT * FROM t_account WHERE name='$name' or email='$email' LIMIT 1"; $result = mysqli_query($db, $user_check_query); $user = mysqli_fetch_assoc($result); if($user) { // if user existente if ($user['name'] === $name) { array_push($errors, " "); } if ($user['email'] === $email) { array_push($errors, " "); } } // Registra o usuário se não haver erros if (count($errors) == 0 ) { $pwd = md5($pwd); print $pwd; $query = "INSERT INTO t_account (name, email, pwd, pw2) VALUES ('$name', '$email', '$password', '$password2')"; mysqli_query($db, $query); $_SESSION['accountid'] = $id;// $_SESSION['name'] = $name; $_SESSION['success'] = 'Você está logado em'; echo " "; //header('location: index.php'); } } //LOGIN USER if (isset($_POST['login_user'])) { $name = mysqli_real_escape_string($db, $_POST['name']); $password = mysqli_real_escape_string($db, $_POST['password']); if (empty($name)) { array_push($errors, " "); } if (empty($password)) { array_push($errors, " "); } if (count($errors) == 0 ) { $pwd = md5($pwd); $query = "SELECT 'email' FROM t_account WHERE name='$name' AND password='$password'"; $results = mysqli_query($db, $query); if (mysqli_num_rows($results)) { $_SESSION['accountid'] = $id;// $_SESSION['name'] = $name; $_SESSION['success'] = 'Você está logado em'; echo " "; //header('location: index.php'); }else{ array_push($errors, " "); } } } Com a variável abaixo, é exibido o nome de quem esta logado.
      $_SESSION["name"] Já com os demais, não e exibido o resultado é apresentado uma msg de erro.
      $_SESSION["email"] Notice: Undefined index: email in Passei em todos os post que tem sobre o assunto, mas infelizmente em meu código não deu certo.
       Sou novo em PHP!
      Preciso puxar todos os dados cadastrado do usuário.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.