Servidores PHP – Qual escolher?

Servidores PHP para você executar os códigos em seu computador de desenvolvimento ou para projetos em produção sempre é uma dúvida que os desenvolvedores possuem. Fizemos esse post pensando em ajudar à todos.

Servidores PHP para sua máquina

Nesse quesito não há dúvidas que a combinação LAMP (Linux + Apache + MySQL + PHP) é a mais utilizada por todos. Mas, nem sempre o desenvolvedor está usando Linux para trabalhar. Então, é preciso ter uma opção para instalar em Windows ou Mac OSx.

Listamos 3 opções com instalação em modo Wizard, que facilita muito a vida de todos os programadores PHP.

Servidores PHP para produção

Qual empresa de hospedagem escolher? Hoje em dia é difícil indicar uma empresa de hospedagem, principalmente no Brasil. Isso acontece, pois as empresas tem apresentado muita dificuldade em apresentar boa qualidade no atendimento aos clientes.

Listamos 4 empresas que tem o serviço em português e são as mais utilizadas.

Servidores PHP fora do Brasil

Uma boa opção para quem domina o idioma em inglês é utilizar servidores fora do país. Normalmente, a qualidade de atendimento e serviço é muito melhor. Empresas como a AWS Amazon, Bluehost e Digital Ocean [link afiliado] estão dominando o mercado de servidores PHP.

Mas, essas empresas você precisa não apenas dominar o inglês, como também a construção e configuração dos servidores.

Listamos abaixo 5 empresas que irão fazer a diferença na sua entrega de produtos em PHP.

Como validar formulário em PHP?

Cedo ou tarde todo programador vai ter que validar formulário em PHP. Existem algumas práticas que tornam essa tarefa mais simples.

O ideal é sempre você utilizar algum framework que possa prover segurança na validação dos dados. Caso você esteja programando um script diretamente, segue 3 dicas de como validar com eficiência um formulário em PHP.

Validando o POST

Uma prática muito comum é acessar diretamente um índice de $_POST sem validar sua existência. Em alguns ambiente, isso pode funcionar sem problemas. Mas, caso não esteja configurado corretamente, pode apresentar erros que deixem o sistema inoperante.

<?php

// prática não recomendada;
$nome = $_POST['nome'];

Validar formulário com função isset()

A função isset do PHP serve exatamente para validar se existe o índice no $_POST. Veja um exemplo abaixo de como utilizar a função.

<?php

if(isset($_POST['nome']))
   $nome = $_POST['nome'];

Dessa maneira, primeiro você irá verificar a existência do índice no array $_POST, para depois associar na variável.

filter_var

Com a função filter_var do PHP é possível fazer uma validação de dados. Esse tipo de validação é importante, caso queira que o $_POST receba um e-mail, por exemplo. Veja o exemplo abaixo:

<?php

if(filter_var('[email protected]', FILTER_VALIDATE_EMAIL))
 echo "É um e-mail válido!";
else
 echo "Ops! Não é um e-mail válido.";

Tem alguma outra dúvida? Deixe um comentário abaixo!

Call to a member function getOptions() – Magento Bug

Se você já se deparou com a seguinte mensagem de erro, “Call to a member function getOptions()“, após executar ou migrar uma instalação Magento, descubra neste post como solucionar o problema.

Esse erro é extramente simples de resolver. O que acontece é falta de permissão nas pastas chave para que o sistema execute. Por isso, abaixo compartilho os comandos que eu sempre executo após instalar ou transferir uma loja magento de servidor.

Normalizando as permissões de pastas e arquivos do Magento:

sudo find . -type f -exec chmod 644 {} \; && sudo find . -type d -exec chmod 755 {} \;

Permissão para as pastas chaves do Magento:

chmod -R o+w media var;

Permissão para leitura do arquivo de configurações do Magento:

chmod o+w app/etc;

Resolveu o seu problema também? Espero que sim! Caso não tenha dado certo, deixe seu comentário que vamos te ajudar.

“Cannot add the item to shopping cart.” Magento Bug

Se você já passou por essa mensagem de erro no Magento – Cannot add the item to shopping cart. – vou mostrar neste post como é possível resolver ele.

Basicamente, esse erro vai ocorrer quando o Magento não conseguir localizar o diretório de cache do sistema. Ele só será apresetando quando um cliente tentar inserir um produto no carrinho de compras.

Se você habilitar os logs de erro do Magento, irá encontrar a seguinte mensagem no arquivo exception.log: “Exception message: cache_dir must be a directory“.

Siga os passos seguintes para corrigir o problema. Localize o arquivo lib/Zend/Cache/Backend/File.php e edite as seguintes configurações:

'cache_dir' => null
'cache_dir' => 'tmp'

Após salvar o arquivo e subir ele novamente para o servidor, confira se o problema foi resolvido.

Caso o problema persista, talvez a pasta que você esteja definido como tmp não seja válida. Por isso, recomendo você criar uma pasta no servidor e definir ela com a tmp.

Espero que isso ajude. Se o problema não for resolvido, deixe um comentário com o seu problema.

Como arrumar INNODB STORAGE ENGINE IS NOT SUPPORTED no Magento

É possível que na instalação do Magento, você encontre um problema que retornará a mensagem:

INNODB STORAGE ENGINE IS NOT SUPPORTED

Para resolver este problema, mesmo o servidor possuindo suporte a InnoDB, será comentar algumas linhas de código no core do sistema.

Sabemos que essa prática não é a correta, mas de vez em quando é necessária para conseguir realizar a instalação do Magento.

Vamos para a solução. Abra o arquivo no caminho: app/code/core/mage/install/model/installer/Db.php

Procure o código seguinte pela linha 85:

 // check InnoDB support
 if (!$resource->supportEngine()) {
 Mage::throwException(Mage::helper('install')->__('Database server does not support '
 . 'the InnoDB storage engine.'));
 }

Agora você pode comentar essas linhas:

 // check InnoDB support
 // if (!$resource->supportEngine()) {
 // Mage::throwException(Mage::helper('install')->__('Database server does not support '
 // . 'the InnoDB storage engine.'));
 // }

Pronto! Tente a instalação novamente.