Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

mruoppolo

Utilização de IP em sistema PHP

Recommended Posts

Olá, tudo bem?

 

estou criando um sistema de comandas para bares e restaurantes baseado em php, o sistema trabalhará diretamente através dos celulares dos garçons, mandando notificações para a cozinha, caixa e tudo mais, único porém é que estarei utilizando o Xampp configurado na rede para que ele fique acessível por todos os dispositivos na rede.

 

Ai que entra o problema, cada vez que o computador servidor for desligado (ou o roteador, não sei ao certo) o ip do localhost muda, como eu poderia fazer para arrumar uma solução ou para o IP não mudar ou para o PHP pegar o ip automaticamente do localhost??

 

Muito obrigado :)

Compartilhar este post


Link para o post
Compartilhar em outros sites
22 minutos atrás, mruoppolo disse:

único porém é que estarei utilizando o Xampp

Não cara...

XAMPP em produção :(

 

 

22 minutos atrás, mruoppolo disse:

Ai que entra o problema, cada vez que o computador servidor for desligado (ou o roteador, não sei ao certo) o ip do localhost muda, como eu poderia fazer para arrumar uma solução ou para o IP não mudar ou para o PHP pegar o ip automaticamente do localhost??

Não usa ué, hospedar em algum lugar.

 

Se uns cara roubar a 'maquina/servidor' como o cliente faz? chora ?? kkkk

 

O que impede de hospedar em algum lugar externo?

Garantir uptime?

 

Só fazer algo assim....

Ex:

Se a 'net' do cliente acabar -> Modem da vivo assume ou Tim Fibra assume.

 

 

 

22 minutos atrás, mruoppolo disse:

mandando notificações para a cozinha

Como? 

Oq você defini como notificação? Um insert na base? um PushNotification do Android?

------------------------------------------------------------------------------------------------

 

Se ainda assim você quer seguir com a ideia do XAMP Local,  não precisa de IP externo.

 

Só os clients da aplicação (garçom?App) estiverem na mesma rede de Wifi pelo Roteador, e apontar para a maquina que correspondente ao cliente

 

Ex de como roda uma rede Wifi / LAN / Endereço IPv4:

 

192.168.0.101 (Maquina do Servidor)

192.168.0.102 (Client - 1)

192.168.0.103 (Client - 2)

192.168.0.105 (Client - 6)

 

É possível acessar externamente sempre com um no-ip da vida.

 

Recomendo a leitura:

https://pt.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol

https://pt.wikipedia.org/wiki/Rede_de_longa_distância

https://pt.wikipedia.org/wiki/LAN

https://pt.wikipedia.org/wiki/Endereço_IP

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, eu queria hospedar na web, porém o cliente ficou me enchendo, porque caso o cliente fique sem internet o sistema para de funcionar, saca??

 

Como eu poderia fazer para burlar esta parte do sistema parar de funcionar quando não tem net?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu editei isso.

 

Citar

 

O que impede de hospedar em algum lugar externo?

Garantir uptime?

 

Só fazer algo assim....

Ex:

Se a 'net' do cliente acabar -> Modem da vivo assume ou Tim Fibra assume.

 

Ai a galera de Infra/Rede pode te ajudar.

 

Mas é bem sem noção hospedar qualquer coisa em Servidor físico na minha visão.

 

O computador pode dar problema, a tiazinha da limpeza pode puxar a tomada, pode dar um raio.

 

Melhor garantir Segurança de Dados/Arquivos.

 

Vamos ver se alguém também da algumas dicas hehe não leve como verdade absoluta oq eu falei.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, não entendi essa parte de modem da vivo assume, tipo como eu faço pra saber através do PHP que a internet acabou?? E o que significa o modem da vivo assumir???

 

Outra coisa, isso daria divergências nos dados que estão no banco local e os que estão no banco da web, não daria??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Complementando:

A maioria dos roteadores tem a opção de vincular um endereço MAC a um ip local. Dessa forma, mesmo que o roteador seja desligado e ligado, o servidor sempre pegara o mesmo ip, pois estará reservado para o  MAC cadastrado.

Então é só você ver ai qual é o MAC  do servidor,  entrar no roteador e procurar esse opção, que geralmente não tem segredo para configurar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@EdCesar não da ideia pow haha XAMP local é sacanagem.
Você q manja muito de Infra, como faz pra existir tolerância a falhas de internet, é possivel? 



Por exemplo minha namorada tinha um restaurante 100% Delivery (iFood)
Quando a internet dela acaba (NET zoada em SP) , ela usava o modem da vivo ou roteava o celular 4G.

Apesar de ser manual era uma tolerância :tounge_wink: 

Compartilhar este post


Link para o post
Compartilhar em outros sites

 @gabrieldarezzo não estou apoiando o uso do XAMP, nem desapoiando Hahahahah
A questão dele é não perder o ip quando o roteador for desligado e ligado, e a solução é vincular o ip ao mac, no roteador, sendo XAMP ou não :)

Tolerância a falhas? É de comer? rsrsrs

Falando serio, no caso da sua namorada, e de qualquer outro, isso depende muito da infra externa da operadora na região. Em qualquer operadora, a infra interna é de boa qualidade, mas a externa, é outra historia. A VIVO por exemplo, no caso de atendimento via par metalico, a maioria não recebem manutenção. Cabos com mais de 3 anos de vida, tomando chuva e sol e não são trocados. Geralmente nesses casos, o ping é baixo e ocorrem perdas, ai é jeito é abrir um chamado, e exigir que o tecnico leve um analisador de protocolos para ele visualizar os erros, e só for embora quando o analisador não pegar mais erros, que no caso, só trocando toda a infra, da central até a casa do cliente rsrs

Atualização

Talvez você tenha falado de redundância, existem roteadores/switch que você pode conectar mais de uma conexão de internet, sendo dois cabos, ou um cabo e uma entrada para 4G, ai quando um cai, o outro assume automaticamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É um sistema relativamente simples e envolve pagamentos e controle financeiro, ele pode até ficar na Internet, mas precisa ter um sistema local. O restaurante/lanchonete/bar não pode deixar de faturar o que for consumido por ter ficado sem Internet. Mesmo com redundância, esse é um problema que não pode ocorrer.

 

O IP pode ser fixo, com um servidor DHCP para os smartphones, claro que para que isto ocorra há uma outra parte de configuração que não tem muito haver com XAMP ou PHP. Você pode usar um equipamento Mikrotik que vai te dar um poder maior de configuração neste caso.

 

Para concluir, a opção de um sistema online não é ruim. É sabido que o cliente sempre quer o menor custo e não, necessariamente, o melhor serviço. Sugiro que você faça um desenho disso tudo e convença o seu cliente a ter uma infraestrutura um pouco mais profissional. Claro que isso tem um custo, mas avalie bem os riscos... Tanto do seu cliente quanto do seu, como profissional e prestador de serviços.

 

Sucesso!

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

e não hesite em filmar a conversa pra o caso do cliente dizer depois que tu não falou nada dos riscos tu poder provar que falou sim e que deixou tudo muito bem claro

Spoiler

claro que é brincadeirinha :tounge_wink:

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@marsolim

Selo:

ptropa-de-elite05.jpg 

 

Ps:

 

Vale a pena dar uma lida nos links.

 

 

Outra abordagem legal, é antes de prosseguir com o desenvolvimento.

 

Subir um servidor em casa numa maquinha veia. (192.168 lembra? ^^ )

E tentar entender o conceito de DHCP/MAC como o @EdCesar comentou.

 

 

Abraço e bons estudos.

Compartilhar este post


Link para o post
Compartilhar em outros sites
2 horas atrás, mruoppolo disse:

Ai que entra o problema, cada vez que o computador servidor for desligado (ou o roteador, não sei ao certo) o ip do localhost muda, como eu poderia fazer para arrumar uma solução ou para o IP não mudar ou para o PHP pegar o ip automaticamente do localhost??

Nem tudo é prego!

Como o @Prog disse, isso é simples, se precisa somente de um servidor, use Linux, e instale as dependências, uma vez ligado, ou se sofrer queda de energia etc,  ligou/reiniciou, tudo estará pronto para uso novamente, e até mais fácil configurar a segurança dos dados, SSL etc.

Uma dica é fazer o backup deste banco em algum lugar, nem que seja no Google Drive.

 

Outra dica e acho que essa é a mais segura em termo de disponibilidade de dados, é usar o http://www.symmetricds.org/ para sincronizar sua app com a nuvem. Assim você cobre 100% e seu cliente fica feliz, e você não terá que acordar nas madrugadas.

Lembre-se, a vida continua após a entrega de um software.

 




 

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, Prog disse:

É um sistema relativamente simples e envolve pagamentos e controle financeiro, ele pode até ficar na Internet, mas precisa ter um sistema local. O restaurante/lanchonete/bar não pode deixar de faturar o que for consumido por ter ficado sem Internet. Mesmo com redundância, esse é um problema que não pode ocorrer.

 

O IP pode ser fixo, com um servidor DHCP para os smartphones, claro que para que isto ocorra há uma outra parte de configuração que não tem muito haver com XAMP ou PHP. Você pode usar um equipamento Mikrotik que vai te dar um poder maior de configuração neste caso.

 

Para concluir, a opção de um sistema online não é ruim. É sabido que o cliente sempre quer o menor custo e não, necessariamente, o melhor serviço. Sugiro que você faça um desenho disso tudo e convença o seu cliente a ter uma infraestrutura um pouco mais profissional. Claro que isso tem um custo, mas avalie bem os riscos... Tanto do seu cliente quanto do seu, como profissional e prestador de serviços.

 

Sucesso!

 

 

Então temos um problema muito complicado ai, kkk, porque assim o cliente pra quem estou fazendo não é o cliente final, ele vai revender, ai que esta o problema.

 

Então não adianta eu convencer ele, porque ele vai precisar convencer todos os clientes a comprarem uma infra mais cara, e como já existe um concorrente na cidade que o cliente não precisa de nada além de um pc, eu não tenho como fazer de outra forma kkk, eu preciso é fazer o IP ficar fixo mesmo, eu vou pesquisar essa parada do MAC mesmo.

 

Depois eu posto exatamente o procedimento que fiz :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

O MAC Address está relacionado a placa de rede, toda placa de rede possui esse "número" que a identifica.

No servidor DHCP do seu access point você configura que esse determinado MAC vai receber um determinado IP, desta forma este equipamento (servidor onde estã o XAMP) sempre recebe o mesmo endereço IP. Como disse, isso é feito no access point e cada fabricante dispõe de um aplicativo específico para realizar este tipo de configuração (mesmo sendo diferentes, eles não diferem tanto de um para os demais).

 

Sucesso!

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Fala galera.
      Espero que todos estejam bem.
      Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo:
       
      <item>
      <title>
      d sa dsad sad sadasdas
      </title>
      <link>
      dsadas dsa sad asd as dsada
      </link>
      <pubDate>sadasdasdsa as</pubDate>
      <dc:creator>
      d sad sad sa ad as das
      </dc:creator>
      </item>
       
      Meu código:
       
      $link = "noticias.xml"; 
      $xml = simplexml_load_file($link); 
      foreach($xml -> channel as $ite) {     
           $titulo = $ite -> item->title;
           $urltitulo = $ite -> item->link;
           print $urltitulo = $ite -> item->dc:creator;
      } //fim do foreach
      ?>
       
      Esse campo dc:creator eu não consigo ler. Como faço?
       
      Agradeço quem puder me ajudar.
       
      Abs
       
       
    • Por First
      Olá a todos!
       
      Eu estou criando um sistema do zero mas estou encontnrando algumas dificuldades e não estou sabendo resolver, então vim recorrer ajuda de vocês.
      Aqui está todo o meu código: https://github.com/PauloJagata/aprendizado/
       
      Eu fiz um sistema de rotas mas só mostra o conteúdo da '/' não sei porque, quando eu tento acessar o register nada muda.
      E eu também quero que se não estiver liberado na rota mostra o erro de 404, mas quando eu tento acessar um link inválido, nada acontece.
      Alguém pode me ajudar com isso? E se tiver algumas sugestão para melhoria do código também estou aceitando.
       
       
      Desde já, obrigado.
    • Por landerbadi
      Olá pessoal, boa tarde
       
      Tenho uma tabela chamada "produtos" com os seguintes campos (id, produto) e outra tabela chamada "itens" com os seguintes campos (id, prod_01, prod_02, prod_03, prod_04).
       
      Na tabela produtos eu tenho cadastrado os seguintes produtos: laranja, maçã, uva, goiaba, arroz, feijão, macarrão, etc.
       
      Na tabela itens eu tenho cadastrado os itens da seguinte maneira:
       
      1, laranja, uva, arroz, feijão;
      2, maçã, macarrão, goiaba, uva;
      3, arroz, feijão, maçã, azeite
       
      Meu problema é o seguinte: 
      Eu escolho um produto da tabela "produtos", por exemplo "uva".  Preciso fazer uma consulta na tabela "itens" para ser listado todos os registros que contenham o produto "uva" e que todos os demais produtos estejam cadastrados na tabela "produtos".
       
      No exemplo acima seria listado apenas dois registros, pois o terceiro registro não contém o produto "uva". 
       
      Alguém pode me ajudar? Pois estou quebrando a cabeça a vários dias e não consigo achar uma solução.
    • Por landerbadi
      Boa tarde pessoal. Estou tentado fazer uma consulta no banco de dados porém estou tendo dificuldades. Tenho uma tabela chamada "itens" com os seguintes campos: id, item, plural, ativo. Nela tem cadastrado vários itens e seu respectivo plural. No campo ativo eu coloco a letra "S" para informar que esta palavra está ativa no sistema. Por exemplo: 1, casa, casas, S 2, mesa, mesas, S 3, cama, camas, S 4, moto, motos, S 5, rádio, rádios O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo. E outra tabela chamada "variações" com os seguintes campos (id, item1, item2, item3) com os seguintes registros: 1, casa, camas, moto 2, mesas, casas, radio 3, rádio, cama, mesa Eu preciso fazer uma busca na tabela variações da seguinte maneira: Eu escolho um registro na tabela "itens", por exemplo "casa". Preciso fazer com que o php me liste todos os registros da tabela "variações" que contenham a palavra "casa". Porém se tiver algum registro com a palavra "casas" também tem que ser listado. Neste caso ele irá encontrar dois registros. Agora eu preciso que o php verifique os demais itens e faça a listagem apenas dos item que estão ativos (que contenham um "S" no campo ativo. Neste caso ele irá encontrar apenas um registro, pois o segundo registro contém a palavra "rádio". E "rádio" não está ativo na tabela itens. Como faço isso?
    • Por First
      Olá a todos!
       
      Quando eu tento fazer o login me mostra esse erro "Could not log you in."; Alguém sabe me ajudar a resolver esse problema no meu código?
      <?php require_once("core/init.php"); if (Input::exists()) { if (Token::check(Input::get("token"))) { $validate = new Validate(); $validation = $validate->check($_POST, array( "username" => array("required" => true), "password" => array("required" => true) )); if ($validation->passed()) { $user = new User(); $remember = (Input::get("remember")) === "on" ? true : false; $login = $user->login(Input::get("username"), Input::get("password"), $remember); if ($login) { Session::flash("home", "Welcome back!"); Redirect::to("index.php"); } else { echo "Could not log you in."; } } else { foreach ($validation->errors() as $error) { echo $error."<BR>"; } } } } ?> <form action="" method="POST"> <div class="field"> <label for="username">Username</label> <input type="text" name="username" id="username"> </div> <div class="field"> <label for="password">Password</label> <input type="password" name="password" id="password"> </div> <div class="field"> <label for="remember"> <input type="checkbox" name="remember" id="remember"> Remember me </label> </div> <input type="hidden" name="token" value="<?php echo Token::generate(); ?>"> <input type="submit" value="Log in"> </form>  
       
      Desde já obrigado.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.